我在共享托管LAMP环境中管理一个小网站:这基本上意味着我唯一可以编辑的就是htaccess文件。
我想添加HSTS支持(确实做到了),但是,当我在此处测试我的网站的HSTS预加载资格时,出现以下错误:
错误:HTTP首先重定向到www
http://example
(HTTP)应该立即重定向到https://example
(HTTPS),然后再添加www子域。现在,第一个重定向是到https://www.example.
。需要额外的重定向,以确保任何支持HSTS的浏览器都将记录顶级域的HSTS条目,而不仅仅是子域。
因此,我想应该以这种方式重定向用户:
http://example
(这是用户在浏览器的地址栏中输入的内容)https://example
(我们将他重定向到网站的HTTPS版本)https://www.example
(我们再次将他重定向到子域www)
我当前的重定向是通过以下方式完成的:
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
我尝试通过以下方式在最后一行之前添加重定向:
RewriteRule ^(.*)$ https://example.com/$1 [R,L]
但我从浏览器中收到“页面无法正确重定向”错误。
那么,将用户从网站的http版本重定向到https并最终通过www重定向到https的正确方法是什么?并且:有任何风险吗?