2011-12-14 378 views
4

我有一个多站点与Drupal,我创建了一个网站,首先应该可以以多种方式访问​​(子域和路径),但现在我想保留其中的一个;所以我会重新引导所有其他人。现在,我有:htaccess重定向子域到子目录

aaa.domain.com/
bbb.domain.com/
domain.com/aaa/
domain.com/bbb/
www.domain.com/aaa/
www.domain.com/bbb/

而且我想他们都重定向到http://www.domain.com/bbb/

我试着写:

RewriteCond %{HTTP_HOST} ^aaa.domain.com$ [OR]<BR> 
RewriteCond %{HTTP_HOST} ^bbb.domain.com$ [OR]<BR> 
RewriteCond %{HTTP_HOST} ^www.domain.com\/aaa$ [OR]<BR> 
RewriteRule ^/?$ "http\:\/\/www\.domain\.com\/bbb\/" [R=302,L] 

我将使用302和301,直到它按预期工作。
如果我entern aaa.domain.com它能正常工作,但如果我进入
http://aaa.domain.com/page/1
它不工作

我读什么我可以约htaccess的,但我失去了一些东西。

感谢

回答

5

以下内容添加到您的.htaccess文件在您的domain.com站点的根目录。

RewriteEngine On 
RewriteBase/

#if request is not on www.domain.com 
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC] 
#and it is not for a folder starting with /bbb/ 
RewriteCond %{REQUEST_URI} !^/bbb/ [NC] 
#redirect to www.domain.com/bbb/ 
RewriteRule .* http://www.domain.com/bbb/ [L,R=301] 
+1

+1很好的解释... – 2012-07-02 07:30:57