Редирект с http на https

В последнее время стало стало модно устанавливать SSL сертификат на сайт. В первую очередь это связано с тем, что некоторые браузеры выводят предупреждения в строке URL о недостоверном или незащищенном соединении. Это заставляет многих веб-мастеров устанавливать SSL сертификаты на сайты.
Однако, после покупки и установки SSL сертификата нужно «заставить» пользователя переходить по ссылке с https. Не все панели управления и CMS имеют настройку, позволяющую указать URL по умолчанию на https. Проблема не носит массовый характер, но мне встречались сайты в сети, на которых в шапке веб-мастер устанавливал ссылку с рекомендацией перейти на https 😀
Если дело происходит на выделенном или виртуальном сервере, то проблема не выглядит сложной — можно легко исправить конфиг веб-сервера и вручную прописать нужный URL
Однако, зачастую доступа к редактированию конфига веб-сервера у пользователя не имеется, особенно если речь идет о хостинге. И, зачастую, необходимых для внесения изменений знаний не хватает. В этом случае можно применить простой и доступный метод — внести изменения в файл .htaccess в корне сайта. Конечно же, метод работает только там, где используется веб-сервер apache. Впрочем, как правило, он используется на подавляющем большинстве хостингов.

Требуется добавить следующие строки в самое начало файла .htaccess:

1
2
3
4
5
6
# SSL
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond     %{SERVER_PORT} ^80$
RewriteRule     ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</IfModule>

Способ второй, не всегда возможный:
Редирект http в https для web-сервера NGINX:
Если имеется возможность внести изменения в конфиг nginx, то конечно же, лучше настроить на нем редирект. Это избавит apache от постоянных rewrite.
Требуется добавить только одну строчку с 301 редиректом return 301 https://$server_name$request_uri; :

1
2
3
4
5
server {
    listen      62.210.162.204:80;
    server_name example.com www.example.com example2.com www.example2.com;
 
    return 301 https://$server_name$request_uri;

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *