2015-06-30 6 views
0

Я пытаюсь перенести сайт в другой домен и надеюсь, что запросы на старый домен будут перенаправлены на новый домен независимо от того, что они есть, и независимо от того, как структурирован URL.Обмен доменным именем с htaccess

Код ниже в моем файле .htaccess делает это для домена и любых каталогов/страниц, но не охватывает многие поддомены, которые у меня есть.

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

Как я могу добавить к этому, чтобы преобразовать следующим образом (к примеру):

http://something.domain1.com/directory/page.php?variable=something http://something.domain2.com/directory/page.php?variable=something

ответ

0

Try:

RewriteEngine On 
RewriteBase/

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

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

Отлично! Спасибо за помощь. Теперь это кажется очевидным. – DaveHolt

+0

Просто примечание для всех, кто борется с этим, если у вас есть субподдомены, то есть http://sub.sub.domain.com, приведенный выше код не будет соответствовать всем этим. Вы должны заменить^([^.] +) На^(. +?), Чтобы учесть их. – DaveHolt

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