2016-07-06 138 views
4

我已經爲了插在我的網站的.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

回答

1

嘗試用:

<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

0

不...... 錯誤:HTTP重定向到www第一 http://domain.fr(HTTP)添加www子域之前,應立即重定向到https://domain.fr(HTTPS)。現在,第一個重定向是https://www.domain.fr/。需要額外的重定向,以確保任何支持HSTS的瀏覽器都將記錄頂級域的HSTS條目,而不僅僅是子域。

1

下面您重定向規則添加代碼:

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