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

Как сделать редирект в htaccess с динамического поддомена с www на поддомен без www?

Добрый день.
Уже несколько дней бьюсь с переадресацией поддоменов.

Условия:
Основное зеркало сайта www.sait.ru
Поддомены динамические и должны быть без www (с www это уже 4 уровень и WildCard не работает) вида: *.sait.ru

RewriteEngine On
#Редирект основного домена без www на с www - Работает правило
RewriteCond %{HTTP_HOST} ^sait\.ru$ [NC]
RewriteRule ^(.*)$ https://www.sait.ru/$1 [R=301,L]

# поддомены без www (не работает правило)
RewriteCond %{HTTP_HOST} ^www\.([A-Za-z0-9_-]*)\.sait\.ru
RewriteRule ^(.*)$ http://%1.sait.ru/$1 [R=permanent,L]

Помогите пожалуйста, может кто сталкивался, всю голову сломал с ними уже. В теории должно работать второе правило, а вот нет.
  • Вопрос задан
  • 2267 просмотров
Подписаться 2 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
shambler81
@shambler81 Куратор тега 1С-Битрикс
RewriteCond %{ENV:HTTPS} on
    #проверяем сайт сейчас доступен по https
RewriteRule .* - [E=SSL:s]
    #То создаем переменную  ssl с текстом "s" ну нет в заголовках текста https так что приходится изголяться

RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
    # Проверяем, содержит ли домен www в начале URL. 
RewriteRule ^(.*)$ http%{ENV:SSL}://%1/$1 [R=301,L]
    # Перенаправляем удаляем www, и тут подставляется s если первое условие сработало
Смысл замуты в том чтоб перекинуть ссылку с сохранением протокола.
Склейка на http >https отдельным правилом.
В вашем случае если они уже определены то из условия можно удалить это правило.
Ответ написан
Ваш ответ на вопрос

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

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