Если вы установили SSL-сертификат для своего домена, следующим шагом должна стать настройка приложения для обслуживания всего веб-трафика через HTTPS.
В отличие от HTTP, где запросы и ответы отправляются и возвращаются в виде открытого текста, HTTPS использует TLS/SSL для шифрования связи между клиентом и сервером.
Есть несколько преимуществ использования HTTPS над HTTP, таких как:
Перенаправление может быть установлено на уровне приложения или сервера. В этой статье объясняется, как перенаправить HTTP-трафик на HTTPS с помощью файла .htaccess.
Если у вас есть корневой доступ SSH к серверу Linux, на котором работает Apache, предпочтительным способом является настройка перенаправления в файле конфигурации виртуального хоста домена. В противном случае вы можете настроить перенаправление в .htaccessфайле домена . Сервер Apache читает .htaccessфайл при каждом запросе страницы, что замедляет работу веб-сервера.
Большинство панелей управления, таких как cPanel, позволяют принудительно перенаправлять HTTPS с помощью графического интерфейса пользователя.
.htaccess — это файл конфигурации для каждого каталога для веб-сервера Apache. Этот файл используется для определения того, как Apache обслуживает файлы из каталога, в котором он находится, и включает/отключает дополнительные функции.
Как правило, файл .htaccess находится в корневом каталоге домена, но вы можете иметь другие файлы .htaccess в подкаталогах.
Вы можете редактировать файл .htaccess (или создавать новый) через SSH или FTP.
Чтобы перенаправить HTTP-запросы в HTTPS, откройте файл .htaccess и добавьте следующий код:
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Вот что делает каждая строка кода:
Если в файле есть другие правила, добавьте код перезаписи вверху файла.
Все! После добавления этих строк сохраните файл и обновите браузер. Все HTTP-запросы должны быть перенаправлены на HTTPS.
При редактировании файла .htaccess вам не нужно перезагружать сервер, потому что Apache читает файл при каждом запросе.
Вот еще одно, общее правило для перенаправления с HTTP на HTTPS:
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Любой веб-сайт доступен по двум URL-адресам: с префиксом www (например, www.example.ru ) и без www (например, example.ru). Большинство владельцев сайтов выбирают одну версию в качестве предпочтительного домена и перенаправляют на него.
Чтобы перенаправить с HTTP на HTTPS и с www на версию сайта без www, добавьте в файл .htaccess следующие строки :
RewriteEngine On RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} ^www\.example\.ru [NC] RewriteRule ^(.*)$ https://example.ru/$1 [L,R=301]
Здесь у нас есть два условия. Первое проверяет, не является ли соединение HTTPS, а второй проверяет, начинается ли запрос www. Если выполняется одно из условий (оператор [OR]), выполняется правило перезаписи.
Если вы предпочитаете версию вашего сайта www, используйте следующее правило для перенаправления с HTTP на HTTPS и с не-www на www
RewriteEngine On RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} ^example\.ru [NC] RewriteRule ^(.*)$ https://www.example.ru/$1 [R=301,L]
Мы показали вам, как редактировать файл .htaccess, чтобы перенаправить весь HTTP-трафик на HTTPS.
Если у вас есть доступ к файлам конфигурации Apache, для повышения производительности вы должны принудительно установить HTTPS, создав перенаправление 301 на виртуальном хосте домена.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.