2012-10-23 43 views
0

在我的Apache服務器上,我正在將一箇舊域移動到一個新的地方,它將與前一個共享相同的Apache設置。有條件的.htaccess request_uri重定向(mod-rewrite)

說我有兩個領域:

  • example.com(舊域)
  • example.net(新域)。

如果請求URI是舊域,那麼它應該重定向到其路徑的新領域,如example.com/blog/great-post/是301重定向到example.net/blog/great-post/

但是,如果請求的URI是example.net/blog/great-post/那麼它不應該重定向到本身,因爲它已經在它的目的地(並且不會卡在重定向循環中)。

回答

0

您可以使用RewriteCond設置條件重寫,請閱讀手冊瞭解更多信息。

RewriteEngine On 

RewriteCond %{HTTP_HOST} !^example.net$ 
RewriteRule (.*) http://example.net/$1 [R=301,L] 
+0

這是行不通的,我已經試過了。 – Ryan

+0

糟糕,有一個錯字。應該在兩行上都是example.net。剛剛測試了固定版本,它在本地爲我工作。如果它仍然不起作用,請仔細檢查您的服務器上是否啓用了mod_rewrite。 – bradym