Переадресация с http на https

Введение

В данный момент сайтам очень важно иметь доступ по защищённому протоколу (SSL/HTTPs). Особенно важно это для сайтов, работающих с личными данными и финансами, помимо этого, к сайтам с SSL повышается доверие со стороны поисковых систем (Google, Яндекс).

Проблема состоит в том, что посетитель сайта никогда не будет вводить https:// в адресе сайта вручную, он просто введёт site.ru и будет ждать результат. Именно для того, чтобы пользователь автоматически попадал на защищённую версию сайта и нужна переадресация.

Переадресация на https с помощью .htaccess

Перед тем, как настраивать переадресацию, убедитесь, что у Вашего сайта есть подключённый SSL-сертификат. Вы можете как купить платный SSL-сертификат, так и использовать бесплатный от Let's Encrypt.

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

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Другой вариант:

RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L] [R=301,L]

С помощью данных строк web-сервер Apache будет переадресовывать все запросы на защищённую версию сайта.

Обратите внимание на то, что система управления контентом (CMS) Вашего сайта должна поддерживать работу на адресе с https. Также некоторые CMS уже имеют встроенные средства для переадресации пользователей на https, в этом случае нужно воспользоваться ими.

Last updated