2012-02-14 89 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