2011-11-21 56 views
0

我曾在一個網站的.htaccess文件中的下列指令,在根:如何讓我的.htaccess從特定域重定向?

# redirect to contact page 
redirectMatch 301 ^(/about)/?$ /contact/ 

但是該網站還舉辦其他幾個域,顯示在根文件夾作爲自己的目錄。例如,http://mysite.com/anothersite/顯示同樣的事情http://anothersite.com

正因爲如此,重定向規則,因爲它是寫的,也重定向到http://anothersite.com/about/http://anothersite.com/contact/

我該如何重寫根.htaccess文件中的指令,使其僅適用於http://mysite.com/about/

回答

0

像這樣的東西應該工作:

RewriteCond %{HTTP_REFERER} ^.*mysite.com.*$ 
RewriteRule ^(/about)/?$ /contact/ [R=301,L] 
0

嘗試

RewriteCond %{HTTP_HOST} ^mysite\.com$ 
RewriteRule ^about/? /contact/ [R=301,L] 

以上將只mysite.com工作。要包含所有mysite子域,例如WWW等,並mysite.com使用

RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9-]+\.)?mysite\.com$ 
RewriteRule ^about/$ /contact/ [R=301,L] 
+0

沒有運氣。仍然拋出了404,因爲如果條件沒有被滿足...... –

+0

我最後修改的規則來解決一個錯字,也包括普通mysite.com域。讓我知道重定向是否工作(運行Fiddler等來捕獲HTTP流量)。如果沒有,您的.htaccess中可能會有其他規則可能會發生干擾 - 將它們全部註釋掉,然後單獨嘗試進行驗證。 –

+0

我試過它作爲唯一的規則:(沒有運氣。 –