Редирект 301 с http на https

#1
В 2016 году поисковые системы стали открыто говорить за предоставление дополнительного бонуса сайтам, которые будут располагаться на защищенном протоколе https. А точнее браузеры будут помечать такие сайты какой-то меткой, что в целом вызовет улучшение поведенческих факторов, потому что на такие сайты станут больше переходить.

Чтобы получать возможность перейти на протокол https нужно приобрести годовую лицензию сертификата SSL. Стоит она где-то в районе 1300-2500 рублей в зависимости от подписки и опций. Сделать это можно у хостинга.

Давайте рассмотрим все варианты, как можно сделать редирект 301 со старого протокола http на новый https. Я привожу несколько вариантов, поскольку не все варианты заработают на каких-то движках и не на всех хостиннах. Зачастую возникают циклические переадресации. Нужно пробовать или просить помочь тех.поддержку хостинга.

Варианты 301 редиректа с протокола http на https через htaccess
В .htaccess нужно прописать один из ниже перечисленных вариантов.

Вариант №1
RewriteEngine on
RewriteCond %{HTTP_HOST} =off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
Вариант №2
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
Вариант №3
RewriteEngine on
RewriteCond %{HTTP_HOST} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Вариант №4
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Вариант №5
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L,R=301]
 
Вверх