2012-09-19 36 views
0

我想要編輯.htaccess文件以創建所有子域的未屏蔽通配符重定向到主www子域。.htaccess未被屏蔽/強制通配符子域重定向

即* .domain.com => www.domain.com

例如www.example.domain.com => www.domain.com

當人在瀏覽器地址欄中鍵入www.example.domain.com時,我希望它重定向未屏蔽,以便實際上URL可以更改爲www.domain.com。

我本.htaccess文件(如下所示)迫使所有的「www」「加www」業務,即http://domain.com變得http://www.domain.com,但不能找出的RewriteCond等命令要使用的上述要求。

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^domain.com$ 
RewriteRule ^(.*)$ "http\:\/\/www\.domain\.com\/$1" [R=301,L] 

任何幫助將不勝感激!提前致謝。

回答

0

有你的.htaccess這樣的:

RewriteEngine on 
RewriteBase/

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

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

感謝您的輸入@anubhava。我嘗試了你的建議,第一部分似乎有效,但我沒有得到第二部分的工作(即* .domain.com => www.domain.com)。我確實先清空了我的瀏覽器緩存。任何想法,爲什麼這可能是好嗎?再次感謝。 – user1683128

+0

你可以發佈你的最新.htaccess和Access.log文件的相關部分與您的問題? – anubhava

0

這很簡單,嘗試:

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ 
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,QSA,R=301] 

你不會需要你的規則還增加了WWW,所以只是將其刪除。

+0

感謝您輸入@Yazmat。不知道這裏發生了什麼,但是我遇到了與anubhava代碼相同的問題。 domain.com => www.domain.com好的,但example.domain.com仍然會導致錯誤。每次保持清空瀏覽器緩存。乾杯。 – user1683128

+0

我不確定它是否有任何區別,但我正在尋找將所有子域重定向到www子域,無論它們是否作爲主文件夾存在於「public_html」文件夾中。我也用hostgator刪除了與根域相關的重定向,因爲這可以通過.htaccess文件完成,但目前爲止沒有變化。 – user1683128

+0

你的example.domain.com指向哪裏? – Oussama