2012-02-14 56 views
0

我被眼前的景象是以下形式:嵌套子域名URL重写

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

试试这个

#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
RewriteCond %{HTTP_HOST} domain\.com$ 
RewriteRule (*.).mydomain.com mydomain.com/$1 

这将trasnfer 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主机,那么不妨使用第一个

+0

感谢您的想法。有没有办法做到这一点,使xx.yy.domain.com成为xx.yy.domain2.com? – John 2012-02-14 16:03:14

+0

不确定。因为我通常使用Zend或其他东西来照顾这个。我会建议一个解决方案,看看它是否工作 – 2012-02-14 16:07:52