Чтобы быть более конкретным, вам необходимо использовать RewriteCond/RewriteRule
, а не просто директиву Redirect
. Сделайте отрицательный матч (!
) за foo.mydomain.com
и выполните переписывание. Вы можете указать несколько субдоменов с группой ИЛИ (foo|other1|other2)
RewriteEngine On
# Redirect anything except foo.example.com, bar.example.com
RewriteCond %{HTTP_HOST} !^(foo|bar)\.example\.com$ [NC]
# Redirect to www.example.com, preserving the URI
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=302]
Если вы просто хотите, чтобы перенаправлять в корень, а не прилагая весь URI через $1
, использовать один и тот же RewriteCond
и просто сделать:
# Match and redirect everything to the root of www.example.com
RewriteRule ^. http://www.example.com/ [L,R=302]
Спасибо очень! :) – Brett
Мне пришлось отредактировать 'RewriteRule' следующим образом, чтобы заставить его работать:' RewriteRule ^. * Http://www.example.com/ [L, R = 302] ' – Brett