htaccess将子域名重定向到子目录

4
我有一个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,直到它按预期工作为止。
如果我输入aaa.domain.com,则按预期工作,但如果我输入
http://aaa.domain.com/page/1
它不起作用。

我已经阅读了所有关于htaccess的内容,但我还缺少一些东西。

谢谢

1个回答

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]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接