嵌套子域URL重写

时间:2012-02-14 15:49:42

标签: mod-rewrite url-rewriting iis-7.5 canonical-link

我的视线形式如下:

nested_subdomain1.nested_subdomain2.domain.com

它可能类似于 test.users.domain.com ,我希望能够将此网址重写为 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 个答案:

答案 0 :(得分: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]

答案 1 :(得分: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中的主机以确定哪个子域被caled,所以不妨使用第一个