ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Понедельник, 31 марта, 2025
Сегодня у нас 1 праздник:
Международный День Резервного Копирования (World Backup Day). Пользователи сайта социальных новостей reddit предложили сделать дату 31.03 Международным днём резервного копирования, аргументируя это тем, что никогда заранее нельзя узнать, какие сюрпризы преподнесёт 1.04

Как заставить использовать HTTPS с помощью .htaccess

Как заставить HTTPS использовать .htaccess

Если вы установили SSL-сертификат для своего домена, следующим шагом должна стать настройка приложения для обслуживания всего веб-трафика через HTTPS.

В отличие от HTTP, где запросы и ответы отправляются и возвращаются в виде открытого текста, HTTPS использует TLS/SSL для шифрования связи между клиентом и сервером.

Есть несколько преимуществ использования HTTPS над HTTP, таких как:

Перенаправление может быть установлено на уровне приложения или сервера. В этой статье объясняется, как перенаправить HTTP-трафик на HTTPS с помощью файла .htaccess.

Если у вас есть корневой доступ SSH к серверу Linux, на котором работает Apache, предпочтительным способом является настройка перенаправления в файле конфигурации виртуального хоста домена. В противном случае вы можете настроить перенаправление в .htaccessфайле домена . Сервер Apache читает .htaccessфайл при каждом запросе страницы, что замедляет работу веб-сервера.

Большинство панелей управления, таких как cPanel, позволяют принудительно перенаправлять HTTPS с помощью графического интерфейса пользователя.

 

Перенаправить HTTP на HTTPS, используя .htaccess

.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]

 

 

Перенаправить HTTP на HTTPS и WWW на не-WWW

Любой веб-сайт доступен по двум 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]), выполняется правило перезаписи.

 

Перенаправить HTTP на HTTPS и не WWW на WWW

Если вы предпочитаете версию вашего сайта 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 на виртуальном хосте домена.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Exit mobile version