如何使用HTTP禁用HSTS标头?

问题描述:

我已经为了插在我的网站的.htaccess以下被录取到HSTS preload list如何使用HTTP禁用HSTS标头?

<ifModule mod_headers.c> 
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" 
</ifModule> 

的问题是,当我提出我的网站,我得到:

Warning: Unnecessary HSTS header over HTTP. The HTTP page at http: //fabriziorocca.it sends an HSTS header. This has no effect over HTTP, and should be removed.

目前我在.htaccess中使用以下命令以便从http切换到https:

RewriteCond %{HTTPS} off 
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

我该如何解决问题?

预先感谢您。

+2

的可能的复制[如何设置从的.htaccess HSTS头只在HTTPS(http://stackoverflow.com/questions/24144552/how-to -set-hsts-header-from-htaccess-only-on-https) – Tom

尝试用:

<ifModule mod_headers.c> 
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" "expr=%{HTTPS} == on" 
</ifModule> 

RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
RewriteCond %{HTTPS} off 
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
+0

我刚试过这个,我得到了同样的错误。 – koljanep

不...... 错误:HTTP重定向到www第一 http://domain.fr(HTTP)添加www子域之前,应立即重定向到https://domain.fr(HTTPS)。现在,第一个重定向是https://www.domain.fr/。需要额外的重定向,以确保任何支持HSTS的浏览器都将记录顶级域的HSTS条目,而不仅仅是子域。

下面您重定向规则添加代码:

Header always set Strict-Transport-Security "max-age=31536000; 
includeSubDomains; preload" env=HTTPS