【问题标题】:Multiple URL redirections happening from non https www to https www从非 https www 到 https www 发生的多个 URL 重定向
【发布时间】:2019-05-07 22:11:30
【问题描述】:

拥有一个小型 wordpress 博客,并关注 this guide。步骤之一是将用于非 www 和 www 的重定向的 htaccess 文件更改为 https www。根据https://varvy.com/tools/redirects/,每种类型应该只有一个重定向。

但是对于我没有 www 没有 http 到 https www 有 2 重定向发生。

http://myportal.com 301重定向 https://myportal.com/

https://myportal.com/ 301重定向 https://www.myportal.com/

许多工具都认为这是负面的,并说太多重定向。如何将 2 步变为 1 步?所以结果来了

http://myportal.com 301重定向 https://www.myportal.com/

目前有以下代码。

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

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    您可以使用以下规则在单个 URL 重定向中强制使用 httpswww

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

    注意:如果您的 htaccess 中已经有该规则,则删除非 www 到 www 重定向规则,否则可能与该规则冲突。 确保在测试此新规则之前清除浏览器缓存。

    【讨论】:

    • 谢谢.. 我从另一个问题的答案中尝试过这个,但由于某种原因进入了循环。但现在似乎正在工作。谢谢
    • 先生您能帮我this post
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-22
    • 1970-01-01
    • 2014-07-26
    • 1970-01-01
    • 2020-05-22
    相关资源
    最近更新 更多