Мобильная
версия

Редирект c www на без www в условиях https

Дата:

Как вы уже могли заметить в моем блоге появился SSL сертификат (конечно, правильнее будет - TSL, но так как ssl уже более устоявшееся название, да и все его используют, то и я буду использовать его). И сегодня я расскажу вам как я намучался с, вроде бы простой вещью, - редиректом с www на без www в условиях https

Редирект c www на без www в условиях https

Ничего не предвещало беды.

Что мы делаем когда не знаем, не понимаем чего либо, или что происходит? Правильно - гугл в помощь, и по первой ссылке я нашел ответ который отлично работал у автора.

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule (.*) https://site.ru/$1 [L,R=301]

Все бы отлично, да вот только нифига не работает этот вариант. Пробовал еще кучу разных разностей.

Очень понравилась статья конца 2014 года

В свое время я задавался этим вопросом как сделать переадресацию одновременно с http:// на https:// и с http://www.example.u на https://exapmle.ru, но готового примера найти не получилось.

Ну да, к 2014 году такого примера конечно нигде не было. Так я и поверю. Вот кстати и вариант автора - 

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

RewriteCond %{ENV:HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1

Но, как выяснилось - такое тоже не особо то и работает.

Подсказку, как обычно, дал любимый мною stackOverflow

подсказка на stackoverflow

Если вы хотите чтобы редиректило с без www на www, то вам нужен сертификат на оба домена.

Возможно для хороших администраторов серверов это не новость, но я не позиционирую себя как администратор, и поэтому для меня это было в новинку. 

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

www.phpbl.ru  // основной домен с www
m.phpbl.ru   // мобильная версия
phpbl.ru      // основной домен без www

И вот с таким сертификатом уже и будут работать приведенные выше варианты htaccess. Я лично использую следующий код

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Теги: #https, #ssl сертификат

Ваша оценка:

Рейтинг: 9.3 (Оценок: 22)

Комментарии (11):

Alex
2017-09-18 22:34
Благодарю, это было очень кстати)
Алексей
2017-09-11 00:00
Огромное спасибо! Очень помогли)
asf
2017-06-29 11:45
Супер - работает. Стоял редик только с http на https, добавил по вашей статье и с www
Nexoos
2017-03-04 12:40
Для тех у кого постоянная переадресация

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Tepvic
2017-03-25 02:04
@Nexoos:Спасибо, у меня по этому варианту заработало
ff
2017-08-24 00:22
@Nexoos:Спасибо, помогло
егор
2016-12-07 18:00
работает, спасибо
prestol
2016-11-26 16:33
Не работает!
сайт выполнил переадресацию слишком много раз
Anton
2017-01-17 14:22
@prestol:Автору спасибо большое за решение!
<br />
<br />А вам поможет этот код:
<br />
<br /><IfModule env_module>
<br />SetEnv HTTP_PORT 443
<br />SetEnv HTTP_SCHEME https
<br />SetEnv HTTPS on
<br />SetEnv HTTP_HOSTNAME ВАШ_ДОМЕН
<br /></IfModule>
nik
2016-11-26 16:17
Огромное спасибо. Перенёс сайт на сервер в Германии пришлось установить панель vesta cp в ней при включении связки серверов apache nginx мало какие редиректы правильно работают. Особенно те которые были написаны ранее поддержкой хостинга с которого переносил. Хотя сертификат и был заказан сразу для двух доменов как указано в статье, но всё равно постоянно при вставке кода редиректа сайт ложился и всё. Постоянно была циклическая переадресация. А ваш последний код решил проблему. Очень полезная у Вас статья.
Boris
2016-09-26 07:37
Большое человеческое спасибо!
Полдня потратил, чтобы найти нормальный редирект для сайта с поддоменами  на non-www
Все работает в лучшем виде!

Комментарий:

Copyright © DOC_tr 2015-2017 г. Все права защищены
Яндекс.Метрика
Перейти к мобильной версии