04.04.2022 в 01:03 (ред.)

Как перенаправить HTTP на HTTPS с помощью .htaccess

В этом уроке разберемся как сделать перенаправление (редирект) с HTTP на HTTPS через файл htaccess в корне вашего сайта.

Chrome и Firefox уже достаточно давно начали показывать предупреждения о незащищенных сайтах на которых не установлен SSL-сертификат. Без SSL ваш сайт будет выглядеть небезопасным для посетителей. Поэтому использование SSL-шифрованного соединения необходимо для обеспечения безопасности, доступности или соответствия стандарту PCI. Очень важным становится перенаправление с HTTP на HTTPS.

Что такое SSL?

SSL (Secure Sockets Layer) – это стандартный протокол безопасности для установления зашифрованных соединений между веб-сервером и браузером при передаче данных в режиме онлайн.

Использование технологии SSL гарантирует, что все данные, передаваемые между веб-сервером и браузером, остаются зашифрованными.

Для создания SSL-соединения необходим SSL-сертификат. Когда вы решите активировать SSL на своем веб-сервере, вам нужно будет указать все данные о вашем сайте и вашей компании. После этого создаются два криптографических ключа – Private Key и Public Key.

Чтобы заставить ваш веб-трафик использовать HTTPS, нужно отредактировать файл .htaccess.

Прежде чем мы перейдем к тому как сделать редирект с HTTP на HTTPS, я расскажу как вы можете отредактировать файл .htaccess. Если вы уже знаете как это делать, то просто пропустите пару следующих шагов.

Чем можно отредактировать .htaccess

В файле .htaccess есть инструкции/директивы, которые указывают серверу, как действовать в определенных сценариях, и напрямую влияют на функционирование вашего сайта. Общие директивы в файле .htaccess:

  1. Перенаправления
  2. Переписывание URL-адресов

Способы редактирования файла .htaccess

  1. Отредактировать файл на своем компьютере и загрузить его на сервер с помощью FTP.
  2. Использование режима “Edit” в программе FTP, которая позволяет редактировать файл удаленно.
  3. Использование текстового редактора и SSH для редактирования файла.
  4. Использование менеджера файлов в cPanel для редактирования файла.

Редактируем .htaccess через cPanel

Внимание! Создайте резервную копию вашего сайта на случай, если что-то пойдет не так.
  1. Войдите в cPanel вашего хостинга
  2. Перейдите в Files > File Manager
  3. Выберите ваш домен и перейдите в папку вашего сайта
  4. Отметьте в настройках Файлового Менеджера cPanel “Show Hidden Files (dotfiles)” (показать скрытые файлы)
  5. Нажмите Go
  6. После того как откроется новая вкладка или окно, найдите файл .htaccess.
  7. Щелкните правой кнопкой мыши на файле .htaccess и выберите в меню пункт Code Edit (Редактирование кода).
  8. Может появиться диалоговое окно с вопросом о кодировке. Нажмите кнопку Edit (Редактировать), чтобы продолжить.
  9. Отредактируйте файл
  10. Нажмите “Save Changes” (сохранить изменения) после внесения всех изменений
  11. Протестируйте свой сайт, чтобы убедиться, что все сделано правильно, а в случае ошибки восстановите предыдущую версию и повторите попытку
  12. Как только вы закончите, нажмите Close (Закрыть), чтобы закрыть окно редактирования

Перенаправление HTTP на HTTPS

1. Перенаправление всего веб-трафика

Если у вас есть код в .htaccess, добавьте следующее:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R,L]

2. Перенаправление только определенного домена

Чтобы перенаправить определенный домен на HTTPS, добавьте следующее:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^yourdomain\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R,L]

3. Перенаправление только определенной папки

Для перенаправления на HTTPS определенной папки добавьте следующее:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} folder
RewriteRule ^(.*)$ https://www.yourdomain.com/folder/$1 [R,L]
Примечание. Не забудьте в приведенных сниппетах кода поменять yourdomain.com на свое доменное имя. Кроме того, в случае папки замените /folder на фактическое имя папки.

Если вам помог урок, то поделитесь этой статьей с другими, чтобы помочь им перейти на HTTPS, а кроме того оставляйте комментарии по вашему кейсу или с вашими примерами.

PHP

Подпишитесь на новости

Никакого спама, только новости и полезные материалы