【问题标题】:www.example.com redirects to https://www.www.example.comwww.example.com 重定向到 https://www.www.example.com
【发布时间】:2018-11-02 10:10:39
【问题描述】:

我想将所有流量重定向到https://www.example.com。我的 .htaccess 规则设置如下:

<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(.*)$  [NC]
RewriteRule (.*) https://www.%1/$1 [R=301,L]
</IfModule>

两个 DNS A 记录(www 和非 www)都指向同一个 IP。这导致 www.example.com 重定向到 https://www.www.example.com 我做错了什么?

【问题讨论】:

    标签: .htaccess redirect


    【解决方案1】:

    这是因为您的.htaccess 中的这一行:

    RewriteRule (.*) https://www.%1/$1 [R=301,L]
    

    改成:

    RewriteRule ^(.*)$ https://www.example.com%{REQUEST_URI} [R=301,L]
    

    应该解决这个问题。确保在测试之前清除缓存。

    【讨论】:

    • 感谢您的回答,但更改后我收到了太多重定向错误消息。
    • 嘿@Robert - 这可能是由RewriteCond %{HTTPS} off [OR]这一行引起的,将其更改为RewriteCond %{ENV:HTTPS} !on [OR]
    • 这不是解决问题。
    【解决方案2】:

    我已经改成

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

    而且效果很好。感谢乔的帮助。

    【讨论】:

      猜你喜欢
      • 2017-10-26
      • 1970-01-01
      • 2017-07-27
      • 2015-09-25
      • 1970-01-01
      • 2019-11-11
      • 2015-12-06
      • 2021-11-13
      • 1970-01-01
      相关资源
      最近更新 更多