2015-04-25 50 views
0

使用.htaccess,我能夠從我的網站網址中刪除www或我能夠處理404重定向爲我的網站上任何不存在的頁面。但是,如果我嘗試擁有兩者,我會收到一條錯誤消息,指出「重定向太多」,我的網站將不再加載。我該如何解決這個問題,以便我既可以刪除www,也可以無404問題地重定向404?.htaccess太多的重定向(組合404與刪除www)

編輯:我原來的帖子已經明確不是重複。

的.htaccess代碼:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 
RewriteCond %{HTTP_HOST} ^([a-z.]+)?example\.com$ [NC] 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule .? http://www.%1example.com%{REQUEST_URI} [R=301,L] 
+0

@JonTirjan它不是重複的。 – jamiestroud69

回答

1

給出了以下規則集一試:

RewriteEngine On 

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

RewriteCond %{HTTP_HOST} ^((?!www\.)[a-z.]+)example\.com$ [NC] 
RewriteRule . http://www.%1example.com%{REQUEST_URI} [R=301,L] 

重定向循環發生,因爲你要重定向網址來http://www.%1example域而不論%1組存在與否。

+0

謝謝,這工作!看來這部分在這裏(?!www \。)基本上告訴代碼在有或沒有www的情況下運行。 – jamiestroud69