我制作了一个 .htaccess 文件将所有网站流量重定向到https://www.
.
这是我完整的 .htaccess 文件:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
以下重定向完全按照预期工作:
http://example.com -> https://www.example.com
https://example.com -> https://www.example.com
https://www.example.com -> https://www.example.com
Except:
http://www.example.com -> http://www.example.com
如上所示,如果您转到http://www.
它不会重定向到 HTTPS 版本。
谁能帮助我理解为什么其他重定向工作正常,但那个却不能?
补充笔记:我查看了 StackOverflow 上的许多帖子,但他们的大多数解决方案都以重定向循环错误结束。
在联系 123-Reg(我的托管提供商)后,他们提交了这个解决方案,效果非常好:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]
RewriteCond %{ENV:HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
基本上,他们将脚本设置为执行两项任务: 将域更改为WWW
,如果还没有,则更改为HTTPS
。此外,他们还使用了ENV:HTTPS
,这与他们的文档中发现的不同(ENV:SSL
).
很高兴能够对此进行排序,也许这会对使用 123-Reg Hosting 的其他人有所帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)