Обращаем внимание, что редирект стоит настраивать только в том случае, если в панели управления уже установлен SSL-сертификат: Как установить SSL-сертификат на хостинг?
Как настроить 301 редирект с HTTP на HTTPS
- Если у вас на хостинге панель управления ispmanager, переадресацию можно настроить в несколько кликов средствами панели управления.
- Если у вас на хостинге панель управления — cPanel или Plesk, редирект настраивается только через конфигурационный файл .htaccess
Настройка редиректа в ispmanager
Откройте панель управления ispmanager и перейдите в раздел «Сайты». Выберите домен, который должен открываться по HTTPS, и нажмите на него двойным кликом:
Поставьте галочку напротив пункта Перенаправлять HTTP-запросы в HTTPS и нажмите ОК, чтобы сохранить изменения:
Готово, теперь ваш сайт будет работать по протоколу HTTPS.
Настройка редиректа в cPanel и Plesk
Как настроить 301 редирект в htaccess:
- 1 Откройте вашу панель управления хостингом.
-
2
Откройте файл .htaccess. Он расположен в корневой папке сайта. Если файл .htaccess отсутствует, то причина может быть в том, что в cPanel не отображаются скрытые файлы. Чтобы отобразить скрытые файлы, воспользуйтесь инструкцией.
Как открыть файл .htaccess
Обратите внимание: если вид вашей панели управления отличается от представленного в статье, в разделе «Основная информация» переключите тему с paper_lantern на jupiter.
В cPanel файл .htaccess скрыт по умолчанию. Чтобы приступить к редактированию файла, в настройках измените видимость скрытых файлов. Для этого в разделе «Файлы» выберите Менеджер файлов, нажмите на кнопку Настройки, поставьте галочку в поле Показать скрытые файлы (dotfiles) и сохраните изменения:
В разделе «Домены» выберите пункт Дополнительные домены. Нажмите по строке, где указана корневая папка домена. Затем нажмите правой кнопкой по файлу .htaccess и выберите в появившемся списке пункт Edit:
Обратите внимание! Если внешний вид вашей панели управления отличается от представленного в инструкции, перейдите в раздел «Сайты и домены» и в правом верхнем углу измените вид на «Активный».
Под нужным доменом нажмите по строке, где указана корневая папка домена. Откроется корневая папка вашего сайта. Найдите в списке файл .htaccess и кликните по нему левой кнопкой мыши:
-
3
Добавьте в конце файла .htaccess одно из правил, которое подходит для вашего случая:
Редирект всех страниц с HTTP на HTTPSРедирект всех страниц с http:// на https://, в том числе и с http://www на https://
Используйте вариант 1:
RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
или воспользуйтесь вторым вариантом (если первый вариант не поможет):
RewriteEngine On RewriteCond %{HTTPS} =off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
если все варианты не помогли и возникает циклическая переадресация, добавьте:
RewriteEngine On RewriteCond %{HTTPS} off RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
или:
RewriteEngine On RewriteCond %{ENV:HTTPS} !on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Редирект на HTTPS только выбранной страницыДля примера возьмём страницу login.php. 301 редирект для неё настраивается следующим образом:
Вариант 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]
- 4 Сохраните изменения.
Готово, теперь ваш сайт будет работать по протоколу HTTPS.
Обратите внимание! Если ни один из предложенных вариантов кода не подошел, обратитесь к разработчикам сайта или на тематические форумы. В некоторых случаях корректная настройка редиректа возможна только средствами CMS.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊