2013-02-01 132 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'部分,因爲它在同一個服務器內部。 –