Задать вопрос

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

Все привет. Проблема следующая, куплен сертификат на сайт. Необходимо настроить правильный редирект с http на https. На данный момент в .htaccess прописан код:
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Работаю все редиректы
site.ru на https://www.site.ru
www.site.ru на https://www.site.ru

кроме:

https://site.ru на https://www.site.ru (Ошибка с сертификатом).

Читал на форумах, кто то пишет что нужно отдельно приобретать сертификат на https://site.ru, это конечно бред и не выход. Хостер написал, что необходимо сначала делать простой редирект с http//site.ru на http:/www.site.ru, потом уже подключить https. Перепробовал кучу методов, ничего не помогло. Буду очень благодарен за помощь, спасибо!
  • Вопрос задан
  • 3780 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
@Jekis Автор вопроса
#First rewrite any request to the wrong domain to use the correct one (here www.)
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) http://%{HTTP_HOST}:443/$1 [L,R]
#Now, rewrite to HTTPS:
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Ответ написан
Комментировать
@ShamblerR
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) http://%{HTTP_HOST}:443/$1 [L,R]
Ответ написан
@pikla
#Редирект с www to non-www(https)
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
#Редирект с http to https
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Вот рабочий вариант
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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