修复ERR_TOO_MANY_REDIRECTS

时间:2017-10-17 14:28:47

标签: .htaccess ssl redirect https

我使用.htaccess重定向www。到非www。 &安培; http:// https://但我在Chrome中遇到此错误:ERR_TOO_MANY_REDIRECTS,该网站在其他浏览器中无效。这是我在.htaccess文件中使用的代码。

RewriteCond %{HTTP_HOST} ^www\.
RewriteCond %{HTTPS}s ^on(s)|off
RewriteCond http%1://%{HTTP_HOST} ^(https?://)(www\.)?(.+)$
RewriteRule ^ %1%3%{REQUEST_URI} [R,L]

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

看起来您正在使用您的规则尝试这两件事:

  1. 从域名
  2. 中删除www
  3. 强制https
  4. 为此,您可以使用单个规则代替显示的所有代码:

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^www\. [NC,OR]
    RewriteCond %{HTTPS} !on
    RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
    RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L,NE]
    

    在测试此更改或使用新浏览器之前,请务必清除浏览器缓存。