@ESSES1868

Редирект на HTTPS с WWW. Как?

Здравствуйте, друзья!

Установил SSL-сертификат. Теперь нужен редирект на HTTPS://WWW

Без HTTPS работала следующая схема:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^site.ru
RewriteRule (.*) www.site.ru/$1 [R=301,L]

Спасибо!
  • Вопрос задан
  • 126 просмотров
Пригласить эксперта
Ответы на вопрос 3
shambler81
@shambler81 Куратор тега htaccess
Все достаточно просто и сложно одновременнно, я вангую
У вас nginx+apache как следствие умный дядя который это делал сделал все по манам в которых на бэкэнде используетяс http ( кстати все маны в интернете содержат эту ошибку) в результате чего у вас http рефери будет или
site.ru:443 или https://site.ru:80
или еще что-подобное, в результате будуть происходить циклические редиректы.
Поскольку бэкэнд ничего не знает о существование фронта.
Тут можно пойти несколькими путями
1. перебирать разные написаниея редиректов, ибо их дофига, часть из них может сработать часть нет.
2. исправить ошибку.
3. у вас есть другая ошибка и она где-то в коде сайта.
4. весь htaccess в стоудию.
5. отвязать редирект для ввв от https в принципе. частично описывал тут https://klondike-studio.ru/standards/standartnyy-h...
6. https://www.bertal.ru/ тут будет видно что именно в цикле
Ответ написан
@dodo512
RewriteEngine On

RewriteCond %{HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule (.*) https://www.site.ru/$1 [R=301,L]
Ответ написан
Комментировать
roamario
@roamario
работаю пока работается
Дописываем после RewriteEngine On
Вариант 1
RewriteCond %{HTTPS} =off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

Вариант 2
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

Вариант 3
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Вариант 4
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы