发现 http 到 https 的双重重定向
Posted
技术标签:
【中文标题】发现 http 到 https 的双重重定向【英文标题】:http to https double redirection found 【发布时间】:2018-06-04 09:24:06 【问题描述】:我正在尝试使用三个选项将 http 重定向到 https
http://转https:// http://www 转 https:// https://www 转 https://但是,第二个选项显示来自http://www > https://www > https://
的双重重定向
以下是我在 .htaccess 中的代码。双重重定向可以吗?
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %HTTPS off
RewriteRule ^(.*)$ https://%HTTP_HOST%REQUEST_URI [L,R=301]
RewriteCond %HTTP_HOST ^www\.(.+)$ [NC]
RewriteRule ^ https://%1%REQUEST_URI [R=301,L]
</IfModule>
【问题讨论】:
【参考方案1】:因为您有 2 个重定向规则。重定向可能发生两次:
-
使用第一条规则
http://www.example.com
到https://www.example.com
使用第二条规则https://www.example.com
到https://example.com
您可以使用这个单一规则在一个 301
重定向中同时执行这两个操作:
RewriteCond %HTTP_HOST ^www\. [NC,OR]
RewriteCond %HTTPS !on
RewriteCond %HTTP_HOST ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%REQUEST_URI [R=301,L,NE]
确保将两条规则都替换为这条规则,并使用新浏览器进行测试以避免旧浏览器缓存。
【讨论】:
非常感谢,阿努巴瓦!那很棘手!事实上托管公司告诉我不要相信第三方应用程序:) 托管公司讲各种各样的故事,因为他们并不真正了解这些事情:) 感谢您的快速帮助,朋友!再次感谢!以上是关于发现 http 到 https 的双重重定向的主要内容,如果未能解决你的问题,请参考以下文章
IIS 将 www 重定向到非 www 和 http 到 https:是不是可以仅使用一个重定向来完成?
Jersey jax.rs 客户端 2.5 遵循从 HTTP 到 HTTPS 的重定向
将 HTTP 重定向到 HTTPS(中间件重定向 vs Nginx)