.htaccess редирект на https
перенаправляем соединение с http на https
Все мы знаем, что браузеры Chrome и Firefox предупреждают о нарушении безопасности, если у сайта нет SSL сертификата. Без SSL веб-ресурс становится небезопасным для пользователей. В настоящее время SSL-шифрование соединения обеспечивает сайту стабильность, доступность и соответствие требованиям PCI (PCI DSS - стандарт защиты информации в индустрии платежных карт). При переходе к SSL-шифрованию важно уметь перенаправлять трафик с HTTP на HTTPS.
SSL
SSL (Secure Sockets Layer — уровень защищённых сокетов) - протокол безопасности, устанавливающий зашифрованное сетевое соединение между веб-сервером и браузером.
Использование технологии SSL обеспечивает постоянную передачу зашифрованных данных между веб-сервером и браузером.
Для создания SSL-соединения необходим SSL-сертификат. Чтобы получить SSL-сертификат Вы должны предоставить достоверные данные о сайте и его владельце. В результате при выпуске сертификата вы получите два ключа шифрования: приватный и публичный.
Кроме того, чтобы направить трафик по HTTPS необходимо внести изменения в файл .htaccess (это не единственный способ перенаправления трафика).
.htaccess
.htaccess содержит инструкции (директивы), определяющие поведение веб-сервера при определенных сценариях, что, в конечном счете, напрямую влияет на сайт. В данном случае нас интересует директива перенаправление (редирект, redirect)
способы редактирования файла .htaccess
- Можно отредактировать файл локально на компьютере и потом загрузить на сервер, используя FTP/SFTP соединение,
- Использовать режим редактирования FTP-клиента, таким образом можно изменить файл удаленно,
- С помощью консольного текстового редактора и SSH-соединения,
- С помощью файлового менеджера панели управления хостингом (например: cPanel)
Перенаправление трафика с HTTP на HTTPS
Перенаправляем весь трафик
Для этого в .htaccess нужно добавить код:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ /yourdomain.com/$1 [R,L]
Перенаправляем трафик для определенного домена
Если нужно перенаправить на HTTPS трафик определенного домена, добавим код:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^yourdomain\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ /yourdomain.com/$1 [R,L]
Перенаправляем трафик только для определенной директории
Если необходимо перенаправить трафик для папки (каталога):
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} folder
RewriteRule ^(.*)$ /yourdomain.com/folder/$1 [R,L]
Замечание
Не забудьте заменить yourdomain - на актуальное доменное имя и правильно установить зону (вместо .com) в случае необходимости.
Так же замените folder на нужную Вам директорию.
Спасибо за внимание.