.htaccess 重定向太多(结合 404 和删除 www)
.htaccess Too Many Redirects (Combining 404 With Remove www)
使用 .htaccess,我能够从我的站点中删除 www url 或者我能够处理我站点上任何不存在的页面的 404 重定向。但是,如果我尝试同时拥有两者,我会收到一条错误消息 "too many redirects" 并且我的网站将不再加载。我该如何解决这个问题,以便我既可以删除 www 又可以毫无问题地进行 404 重定向?
编辑:我原来的 post 显然不是重复的。
.htaccess 代码:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%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]
试试下面的规则集:
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]
发生重定向循环是因为您将 URL 重定向到 http://www.%1example
域,而不管 %1
组是否存在。
使用 .htaccess,我能够从我的站点中删除 www url 或者我能够处理我站点上任何不存在的页面的 404 重定向。但是,如果我尝试同时拥有两者,我会收到一条错误消息 "too many redirects" 并且我的网站将不再加载。我该如何解决这个问题,以便我既可以删除 www 又可以毫无问题地进行 404 重定向?
编辑:我原来的 post 显然不是重复的。
.htaccess 代码:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%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]
试试下面的规则集:
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]
发生重定向循环是因为您将 URL 重定向到 http://www.%1example
域,而不管 %1
组是否存在。