2013-08-05 68 views
1

我有一個網站example.com。任何流量www.example.com重定向到example.com使用.htaccess文件:htaccess重定向在哪裏子域

Options +FollowSymLinks 
RewriteEngine on 
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L] 

這一段代碼,我刷卡interweb的正常工作。

我現在已經添加了一個子域subdom.example.com。類似地,任何到www.subdom.example.com的流量都應該被重定向到非www規範版本。

下面的代碼不起作用:

Options +FollowSymLinks 
RewriteEngine on 
RewriteRule ^(.*)$ http://subdom.example.com/$1 [R=301,L] 

想必重定向工作方式略有不同,其中的子域都參與其中。任何人都可以分享我將如何編輯上面的代碼重定向任何www。流量到規範非www。子域版本?

回答

2

我相信你沒有足夠的RewriteCond條件爲這兩個重定向。發生的事情是,第一個是無條件重定向,並且因爲它首先出現,它總是會觸發,而第二個則不會觸發。

這種替換代碼:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

上面的代碼將與兩個站點上工作。

+0

非常感謝你的工作 –

+0

非常歡迎,很高興解決了。 – anubhava