2013-03-05 109 views
3

我有一個網站有兩個域名。我希望當域X被訪問時(不管路徑是什麼....../foo/bar /,root或其他),瀏覽器應該重定向到一個特定的URL。mod_rewrite如果使用域X,則重定向到特定的URL?

所以:

domainX.com -> domainX.com 
domainY.com -> domainX.com/some/path 

以下有點兒八九不離十工作,但它只有這麼www.domainY.comdomainY.com/some/path匹配反對domainY.com,不能正常工作。

RewriteCond %{HTTP_HOST} ^domainY\.com 
RewriteRule ^(.*)$ http://domainX\.com/some/path [L] 

雖然之前它必須接受有和沒有www。有任何想法嗎?

回答

5

可以擴展的正則表達式HTTP_HOST

RewriteCond %{HTTP_HOST} ^(?:www\.)?domainY\.com$ 
RewriteRule .* http://domainX.com/some/path [L] 

這是一個改寫。如果你想重定向客戶端,你必須在一切工作,因爲它應該,你可以用R=301取代R添加R標誌

RewriteRule .* http://domainX.com/some/path [R,L] 

從不R=301測試。

+0

現在WWW也有效,但是如果我在網域後面放了某些東西(例如'domainY.com/some/path',它不起作用,但這並不重要,但我可以沒有它,謝謝! – qwerty 2013-03-05 09:59:42

+0

@ qwerty這很奇怪,它應該可以使用或不使用額外的URL路徑,您是否有額外的規則?或者您會收到一些錯誤信息? – 2013-03-05 10:17:30

+0

我確實有額外的規則,他們在OP中,但我編輯了它們,因爲我認爲它是無關緊要的,請看這裏:http://pastebin.com/Xh0u1AsA現在我想到了,我應該也可能把我的規則放在之內。其他規則可能導致它不起作用嗎? – qwerty 2013-03-05 10:22:04

相關問題