Редирект субдоменов любого уровня на главную

EasyMoney
На сайте с 11.11.2011
Offline
50
1272

Мне нужно, чтобы любой субдомен редиректился на главную страницу.

По неизвестной причине в индексе Яндекса несколько субдоментов типа sub.ru.mysite.com

Нашёл такой код для .htaccess:

RewriteCond %{HTTP_HOST} ^(.+).mysite.com$

RewriteRule ^/(.*)$ http://mysite.com/$1 [R=301,NC]

, но он работает некорректно: субдомены первого уровня просто не работают (ошибка 404), а sub.ru.mysite.com работают как и прежде.

На данном сайте субдоменов нет. Но желательно знать, как сберечь субдомены, если они есть.

vkusnoserver
На сайте с 30.04.2011
Offline
104
#1

Попробуйте так:


RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.mysite.com [NC]
RewriteRule ^(.*)$ http://www.mysite.com/$1 [L,R=301]

P.S. Проблема с mmgp.ru.mysite.com? :) Тут вроде бы выяснили, что нужно убрать wildcard из днс (запись вида:

*.mysite.com A ip).

Скидки на хостинг (/ru/forum/629944) | Конфигуратор (http://www.vkusnoserver.ru/link.php?id=31) | Администрирование (/ru/forum/871196) CEO собственной персоной - skype: vkusnoandy
siv1987
На сайте с 02.04.2009
Offline
427
#2
EasyMoney:
но он работает некорректно: субдомены первого уровня просто не работают

Ну правильно

EasyMoney:
Редирект субдоменов любого уровня на главную

А как бы хотели чтобы он работал?

EasyMoney
На сайте с 11.11.2011
Offline
50
#3
vkusnoserver:
Попробуйте так:
P.S. Проблема с mmgp.ru.mysite.com? :) Тут вроде бы выяснили, что нужно убрать wildcard из днс (запись вида:
*.mysite.com A ip).

Эта проблема! Угадали.

Ваш код работает, но редиректит только субдомены второго уровня!

1. Как сделать, чтобы редирект был и с первого (sub.domain.com) и с третьего (sub3.sub2.sub1.domain.com) и со всех остальных – sub.domain.com?

У меня на этом хостинге нет возможности лезть в записи днс, к сожалению.

2. Как сделать так, чтобы реальный субдомен работал с таким записями .htaccess. Видимо, надо как-то вписать его в исключения?

---------- Добавлено 04.08.2014 в 22:54 ----------

siv1987:
Ну правильно

А как бы хотели чтобы он работал?

Какой бы субдомен не ввели и какого бы уровня, он бы перенаправлял через 301 редирект на главный домен без “www” – на mysite.com

siv1987
На сайте с 02.04.2009
Offline
427
#4
EasyMoney:
Какой бы субдомен не ввели и какого бы уровня, он бы перенаправлял через 301 редирект на главный домен без “www” – на mysite.com

Добавить после RewriteEngine ON

RewriteCond %{HTTP_HOST} \.(mysite\.com)$

RewriteRule ^ http://%1/? [R=301,L]

EasyMoney
На сайте с 11.11.2011
Offline
50
#5

Нет, не работает.

Переправляет только второго уровня:( Точнее - любого уровня, кроме первого. Первого - только с www.

siv1987
На сайте с 02.04.2009
Offline
427
#6

Должен работать для всех. Значит либо перекрывается другими (вставили не там где нужно), либо дело в чем нибудь другом.

dkameleon
На сайте с 09.12.2005
Offline
386
#7

EasyMoney, зачем хтацесс мурыжить?

оключайте вайлдкард в ДНС

Дизайн интерьера (http://balabukha.com/)
EasyMoney
На сайте с 11.11.2011
Offline
50
#8
siv1987:
Должен работать для всех. Значит либо перекрывается другими (вставили не там где нужно), либо дело в чем нибудь другом.

Выдает на все субдомены первого уровня ошибку 404. в целом, это решает проблему, но почему так?

www редиректится нормально.

Перекрываться другим не может. Там больше нет записей. Вот весь .htaccess:


AddHandler server-parsed .html
RewriteEngine On
RewriteCond %{HTTP_HOST} \.(mysite\.com)$
RewriteRule ^ http://%1/? [R=301,L]



---------- Добавлено 05.08.2014 в 00:08 ----------

dkameleon:
EasyMoney, зачем хтацесс мурыжить?
оключайте вайлдкард в ДНС

Нет возможности на этом хостинге. Ужи говорил, кстати...

И как мне вписать существующий субдомен в исключения к этим указаниям в .htaccess?

siv1987
На сайте с 02.04.2009
Offline
427
#9

Может быть кеш браузера, хз. Я не вижу причин почему он не должен сработать. Если для ввв работает, то и для всех остальных тем более.

EasyMoney
На сайте с 11.11.2011
Offline
50
#10
siv1987:
Может быть кеш браузера, хз. Я не вижу причин почему он не должен сработать. Если для ввв работает, то и для всех остальных тем более.

Сам в недоумении. Не кеш - проверил на другом браузере. Да и пробовал субдомены случайные.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий