301-й редирект
С http на https
Сейчас очень популярны переходы с http на https. В связи с этим есть необходимость в настройке 301-го редиректа с протокола http на протокол https
Для настройки 301-го с протокола http на протокол https существует большое количество способов. Рассмотрю наиболее распространенные из них.
Очень многие панели управления на хостинге позволяют настроить такой редирект установкой соответствующей опции. Это — самый простой вариант:)
Дальше — несколько вариант редиректа с помощью .htaccess:
RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Данное правило работает, практически, всегда, но на последнем проекте я столкнулся с тем, что такое правило давало циклическую переадресацию (ниже будет причина). Поэтому, техподдержка хостинга посоветовали другое правило:
RewriteCond %{HTTP:X-HTTPS} !1 RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
Редирект со старого сайта на наовый
RewriteCond %{HTTP_HOST} ^site-old.net$ [NC]
RewriteRule ^(.*)$ https://site-new.net/$1 [R=301,L]
или
RewriteRule ^/?$ "https\:\/\/site-new\.net\/" [R=301,L]