Редирект всех поддоменов сайта на поддомены другого сайта

yodda
На сайте с 22.03.2017
Offline
182
565

Есть сайт site1.ru с кучей поддоменов (около 100шт). Переезжаю на сайт site2.ru и нужно через htaccess сделать автоматический редирект всех страниц на эти же страницы но на другой домен (site2.ru).

Есть такая конструкция, которая отлично работает при простом переезде без поддоменов:

RewriteEngine On
RewriteCond %{REQUEST_URI} (.*)
RewriteRule ^(.*)$ http://site2.ru/$1 [L,R=301]

Если я вставляю это на site1.ru  - то редирект работает некорректно и при переходе например со страницы moscow.site1.ru/news/1/ перекидывает на  site2.ru/news/1/, т.е. без поддомена, а нужно чтобы перекидывало на  moscow.site2.ru/news/1/

Бахин
На сайте с 26.05.2017
Offline
76
#1
yodda :

Есть сайт site1.ru с кучей поддоменов (около 100шт). Переезжаю на сайт site2.ru и нужно через htaccess сделать автоматический редирект всех страниц на эти же страницы но на другой домен (site2.ru).

Есть такая конструкция, которая отлично работает при простом переезде без поддоменов:

Если я вставляю это на site1.ru  - то редирект работает некорректно и при переходе например со страницы moscow.site1.ru/news/1/ перекидывает на  site2.ru/news/1/, т.е. без поддомена, а нужно чтобы перекидывало на  moscow.site2.ru/news/1/

все логично, Вы же указали основной домен, а не поддомен

Думай о будущем, но не забывай, что этот день может стать последним!
W1
На сайте с 22.01.2021
Offline
306
#2
yodda :
нужно чтобы перекидывало на  moscow.site2.ru/news/1/

Делай через %{HTTP_HOST}.

Мой форум - https://webinfo.guru –Там я всегда на связи
yodda
На сайте с 22.03.2017
Offline
182
#3
webinfo #:

Делай через %{HTTP_HOST}.

А как именно сделать?

J
На сайте с 20.02.2014
Offline
120
jkm
#4

Если www.site1.ru -> www.site2.ru

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(|.+\.)site1\.ru [NC]
RewriteRule ^(.*)$ http://%1site2.ru/$1 [L,R=301]


Если www.site1.ru -> site2.ru

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.site1\.ru [NC]
RewriteRule ^(.*)$ http://site2.ru/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^(|.+\.)site1\.ru [NC]
RewriteRule ^(.*)$ http://%1site2.ru/$1 [L,R=301]

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