dr.Brain

doctor Brain

мир глазами веб-разработчика

.htaccess редирект на https

перенаправляем соединение с http на https

dr.Brain

время чтения 2 мин.

Photo by Md Meraz on Unsplash

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

https

SSL

SSL (Secure Sockets Layer — уровень защищённых сокетов) - протокол безопасности, устанавливающий зашифрованное сетевое соединение между веб-сервером и браузером.

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

Для создания SSL-соединения необходим SSL-сертификат. Чтобы получить SSL-сертификат Вы должны предоставить достоверные данные о сайте и его владельце. В результате при выпуске сертификата вы получите два ключа шифрования: приватный и публичный.

Кроме того, чтобы направить трафик по HTTPS необходимо внести изменения в файл .htaccess (это не единственный способ перенаправления трафика).

.htaccess

.htaccess содержит инструкции (директивы), определяющие поведение веб-сервера при определенных сценариях, что, в конечном счете, напрямую влияет на сайт. В данном случае нас интересует директива перенаправление (редирект, redirect)

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

  1. Можно отредактировать файл локально на компьютере и потом загрузить на сервер, используя FTP/SFTP соединение,
  2. Использовать режим редактирования FTP-клиента, таким образом можно изменить файл удаленно,
  3. С помощью консольного текстового редактора и SSH-соединения,
  4. С помощью файлового менеджера панели управления хостингом (например: cPanel)

Перенаправление трафика с HTTP на HTTPS

Перенаправляем весь трафик

Для этого в .htaccess нужно добавить код:

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

Перенаправляем трафик для определенного домена

Если нужно перенаправить на HTTPS трафик определенного домена, добавим код:

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

Перенаправляем трафик только для определенной директории

Если необходимо перенаправить трафик для папки (каталога):

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

Замечание

Не забудьте заменить yourdomain - на актуальное доменное имя и правильно установить зону (вместо .com) в случае необходимости.

Так же замените folder на нужную Вам директорию.


Спасибо за внимание.

Новые публикации

Далее

Категории

О нас

Frontend & Backend. Статьи, обзоры, заметки, код, уроки.