Перенаправляем на HTTPS протокол при подключении SSL
RewriteEngine On RewriteCond %{HTTPS} off RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Еще вариант
RewriteEngine On RewriteCond %{HTTPS} =off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
Еще вариант
RewriteCond %{HTTPS} !=on RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
Ещё вариант
RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Ещё вариант
RewriteEngine On RewriteCond %{ENV:HTTPS} !on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Ещё вариант
RewriteEngine On RewriteCond %{SERVER_PORT} ^80$ [OR] RewriteCond %{HTTP} =on RewriteRule ^(.*)$ https://www.mydomain.com/$1 [R=301,L]
Ещё вариант
RewriteEngine On RewriteBase / RewriteCond %{HTTP:X-Forwarded-Proto} https RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Редирект на HTTPS только выбранной страницы
RewriteEngine On RewriteCond %{HTTPS} =off RewriteCond %{REQUEST_URI} =/login.php RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
Ещё вариант
RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteCond %{REQUEST_URI} =/login.php RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
Редирект на сайт HTTPS всех страниц, кроме одной
RewriteEngine On RewriteCond %{HTTPS} =off RewriteCond %{REQUEST_URI} !^/test.php RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
Редирект с HTTPS на HTTP (убрали SSL)
RewriteCond %{HTTPS} =on RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]
Описание
Это один из самых важных редиректов, которые надо делать при настройке SSL-сертификата. Очень часто вижу в выдаче на 2-3-4 страницах сайты с HTTP протоколом, хотя есть версия HTTPS, но видимо забывают настроить редирект и в итоге сайт болтается вне ТОПа. При создании любого своего сайта, я первым делом создаю бесплатный сертификат от Let’s Encrypt, благо сейчас это доступно практически на любых хостингах (если на вашем такого нет, задумайтесь о переезде к более адекватным хостерам 🙂
И это один из самых муторных редиректов, потому что не всегда настраивается с первого раза, поэтому выше можно наблюдать такое обилие различных вариантов редиректов. Кстати, во многих современных панелей хостеров типа ISP Manager, Plesk, Vesta и т.д. есть галочки на настройки перенаправления на HTTPS протокол автоматически, без настройки через htaccess. Поэтому выбор за вами, я в 95% случаях по старинке использую htaccess для настройки перенаправления.
Также есть много плагинов для разных CMS, которые помогут вам настроить переезд на HTTPS версию сайта. Но это дополнительная нагрузка для вашего сайта, поэтому здесь также выбор остается за вами. Если не хотите лезть в htaccess, то почему бы и нет.