0

我有一个如下形式的视线:

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]

我不确定我做错了什么,并且觉得我错过了一些非常明显的东西。

4

2 回答 2

2

试试这个

#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]
于 2012-02-14T16:36:24.650 回答
0
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 中的主机以确定哪个子域被调用,所以还不如使用第一个

于 2012-02-14T16:00:54.760 回答