我在这里测试我的网站,https://hstspreload.org,我得到了一个错误:
错误: HTTP首先重定向到www 在添加www子域之前,http://example (HTTP)应该立即重定向到https://example (HTTPS)。现在,第一个重定向是到https://www.example。需要额外的重定向,以确保任何支持HSTS的浏览器都会记录顶级域的HSTS条目,而不仅仅是子域。
据我所知,要使重定向有效,就应该这样做:
目前,这是导致重定向的htaccess代码:
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]在这里插入另一个重定向是否可能/可取?有什么风险吗?
如有任何评论/建议/建议/烂番茄,我们将不胜感激:
发布于 2018-09-11 07:29:19
评论摘要:
[L]标记添加到RewriteRule中。这个标记告诉Apache,如果它与条件匹配,它将是应用的最后一条规则。对于此请求,将忽略所有其他规则。这里重写的顺序是:
http://example.comhttps://example.comhttps://example.com回来https://www.example.comhttps://www.example.com回来为什么要这样做?它涵盖了所有案件。如果客户端的第一个请求已经是https://example.com,那么上述场景将从步骤4开始。
示例配置可能如下所示:
Listen *:80
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
[... OTHER CONFIGURATION ...]
</VirtualHost>
Listen *:443
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
[... OTHER CONFIGURATION ...]
</VirtualHost>https://stackoverflow.com/questions/52237181
复制相似问题