htaccess将子域重定向到子目录

时间:2011-12-14 12:14:06

标签: .htaccess

我有一个带drupal的多站点,我创建了一个站点,起初应该可以通过多种方式访问​​(子域和路径),但现在我想保留其中一个;所以我应该重新定位所有其他人。现在我有:

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的所有内容,但我遗漏了一些东西。

由于

1 个答案:

答案 0 :(得分:5)

将以下内容添加到domain.com网站根目录中的.htaccess文件中。

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]