Перезапись URL вложенного субдомена - PullRequest
0 голосов
/ 14 февраля 2012

У меня есть зрение следующего вида:

nested_subdomain1.nested_subdomain2.domain.com

Это может быть что-то вроде test.users.domain.com , и я хотел бы иметь возможность переписать этот URL-адрес, например, test.users.domain2.com .

Пока что моя удача не оправдалась, и я не смог успешно реализовать работающее решение из примеров, найденных в Интернете. Я пробовал некоторые вещи, такие как следующее:

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

Или этот ...

RewriteCond %{HTTP_HOST} !^fully\.qualified\.domain\.name$ [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/(.*) http://fully.qualified.domain.name/$1 [L,R]

Я не уверен, что делаю неправильно, и чувствую, что упускаю что-то действительно очевидное.

Ответы [ 2 ]

2 голосов
/ 14 февраля 2012

Попробуйте это

#match anything1.anything2.domain.com
RewriteCond %{HTTP_HOST} ^([^.]+\.[^.]+)\.domain\.com$ [NC] 
#redirect to anything1.anything2.domain2.com
RewriteRule ^ http://%1.domain2.com%{REQUEST_URI} [R=301,L]
0 голосов
/ 14 февраля 2012
RewriteCond %{HTTP_HOST} domain\.com$
RewriteRule (*.).mydomain.com mydomain.com/$1

Это перенесет xx.yy.mydomain.com на mydomain.com/xx.yy

Чтобы заменить его косыми чертами, попробуйте

RewriteCond %{HTTP_HOST} domain\.com$
RewriteRule (*.\.).mydomain.com mydomain.com/$1/$2/$3

Перенести в другой домен, попробуйте

RewriteCond %{HTTP_HOST} domain\.com$
RewriteRule (*.).mydomain.com $1.mydomain.com [R=301,L]

Это переместит поддоменов до уровня три.Честно говоря, вам придется проанализировать хост в вашем index.php, чтобы определить, какой поддомен вызывается, поэтому с таким же успехом можно использовать первый

...