2013-02-01 93 views
4

我想在我的.htaccess文件中使用mod_rewrite从一个URL到另一个URL的内部重定向。目前,我知道如何与下面执行外部重定向:内部mod_rewrite,不重定向

RewriteRule ^incoming-controller/action1.*$ http://example.com/incoming-controller/action2 [R=301,L] 

我希望这发生在内部,因此用户帖子到动作1,而阿帕奇内部用于ACTION2请求。这可能吗?我已经阅读了关于[P]标志和mod_proxy的内容,但是我一直没有找到关于如何正确使用它的文档,或者它在这种情况下很有用。

回答

5

只需从国旗中删除R=301即可。这是导致外部重定向的原因。

您还将不需要使用完整的URL,如http://example.com。只需使用您想要重定向到的资源的URI即可。

+0

似乎不起作用,它仍然在浏览器中执行重定向。 '重写规则^ incoming-controller/action1。* $ http://example.com/incoming-controller/action2 [L]' –

+0

apache访问日志显示它正在接收302状态码并重定向。 –

+1

您还需要删除'http:// example.com'部分,因为它在同一个服务器内部。 –