2016-12-18 2 views
0

Ну, я думаю, что название говорит все это ...редирект на HTTPS/HSTS скрипт работает только изредка

В моем файле .htaccess я скопировал этот код (из Интернета):

Header set Strict-Transport-Security "max-age=10886400" 

Я не уверен, что он делает то, что я думаю. Он должен просто перенаправить на https ... так что если я загружаю exampledomain.com, он должен стать https://exampledomain.com и NOT http://exampledomain.com

Проблема: она работает ... иногда и иногда она не работает ... поэтому я спрашиваю себя: это делает смысл?

Было бы хорошо, если бы кто-нибудь мог объяснить эту функциональность мне ... или сказать, если я сделал что-то совершенно неправильное?

THX!

ответ

1

Заголовки HSTS через HTTP игнорируются.

Сначала необходимо перенаправить своих посетителей на HTTPS, и после обращения к вашему сайту с помощью HTTPS он должен вернуть заголовок Strict-Transport-Security. Затем браузер будет записывать эту информацию, поэтому в будущем попытки загрузить сайт с использованием HTTP автоматически будут использовать HTTPS.

Вы можете использовать это правило перезаписи в вашем .htaccess для перенаправления с http на https:

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

Таким образом, вы имеете в виду, я должен сначала перенаправлять с mod_rewrite? Как это (?): RewriteCond% {HTTPS}! = On RewriteRule^/? (. *) Https: //% {SERVER_NAME}/$ 1 [R, L] –

+0

У вас есть доступ к файлам apache .conf? –

+0

Я добавил правила перенаправления для .htaccess, но если вы можете редактировать файлы .conf, вы должны использовать их вместо .htaccess. –

Смежные вопросы