Редирект с http на https для Linux
Для безопасности вашего сайта, мы рекомендуем настроить переадресацию c http:// на https://. Это значит, что даже если посетитель вашего сайта наберёт путь http://вашсайт, браузер автоматически перенаправит его на защищенный протокол https://вашсайт.
Редирект на https в панели управления ISPmanager 5
ВНИМАНИЕ!
Автоматический редирект с http на https недоступен в панелях Parallels Plesk Onyx 17 и cPanel. Если вы пользуетесь одной из этих панелей, настройте редирект с помощью файла .htaccess по инструкции, расположенной ниже под заголовком Редирект через .htaccess.
На хостинге с панелью управления ISPmanager 5 редирект настраивается в несколько кликов без обращения к файлу .htaccess. Для этого на хостинге должен быть установлен SSL-сертификат: Установка SSL-сертификата. Чтобы настроить перенаправление:
2перейдите в раздел WWW — WWW-домены;
3выберите название сайта, который должен открываться по https и нажмите Изменить:
4поставьте галочку напротив пункта Перенаправлять HTTP-запросы в HTTPS:
и нажмите ОК, чтобы сохранить изменения.
Редирект через .htaccess
Для настройки переадресации необходимо добавить в файл .htaccess правила, которые вы найдёте ниже. Файл .htaccessдолжен быть расположен в каталоге сайта, его можно узнать по инструкции. Если файла не существует, просто создайте его. Перейдите в каталог сайта и добавьте в файл .htaccess следующие строки:
Редирект всех страниц с http:// на https://
Редирект всех страниц с http:// на https://, в том числе и с http://www на https://
вариант 1
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
или, если первый вариант не поможет, воспользуйтесь вторым вариантом:
вариант 2
RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
вариант для хостинга Агава
RewriteEngine On
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
если все варианты не помогли и возникает циклическая переадресация:
вариант 3
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Редирект на https только определённой страницы
В примерах ниже редирект настраивается для страницы login.php.
вариант 1
RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteCond %{REQUEST_URI} =/login.php
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
или
вариант 2
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} =/login.php
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
Редирект на https всех страниц, кроме одной
В примере ниже редирект настраивается для страницы test.php.
вариант
RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteCond %{REQUEST_URI} !^/test.php
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]