2013-05-24 2 views
1

Используя .htaccess, мне нужно перенаправить два домена на третий URL-адрес для клиента.
Перенаправление один в другой работает без каких-либо проблем:Перенаправить несколько доменов на один URL-адрес

RewriteCond %{HTTP_HOST} =domain1.com 
RewriteCond %{HTTP_HOST} =www.domain1.com [OR] 
RewriteRule ^(.*)$ http://domain2.com/$1 [R=301,L] 

Но если взять тот же подход для нескольких доменов я в конечном итоге с петлей редиректа -

RewriteCond %{HTTP_HOST} =domain1.com 
RewriteCond %{HTTP_HOST} =www.domain1.com [OR] 
RewriteCond %{HTTP_HOST} =domain2.com [OR] 
RewriteCond %{HTTP_HOST} =www.domain2.com [OR] 
RewriteRule ^(.*)$ http://domain3.com/$1 [R=301,L] 

Как я должен установить это для того, чтобы он работал правильно?

ответ

1

Это потому, что последнее правило соответствует всем даже для домена3. Вы должны сократить перенаправления для него по условию:

RewriteCond %{HTTP_HOST} (www.)?domain1.com [OR] 
RewriteCond %{HTTP_HOST} (www.)?domain2.com 
RewriteCond %{HTTP_HOST} !(www.)?domain3.com 
RewriteRule ^(.*)$ http://domain3.com/$1 [R=301,L] 
+0

Ok. Я пробовал ваш код и, похоже, не применял никаких переписываний. Может, ты что-то пропустил? –

+0

Попробуйте сейчас, должен работать – vmeln

+0

Это сделало, спасибо! Подумайте, я понял, как работает маршрутизация. –

Смежные вопросы