2015-04-25 29 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