请访问Apache htaccess URL重写指南

时间:2013-08-01 11:19:26

标签: apache .htaccess

aI有一个站点,它跨多个域名进行镜像。让我们说其中有26个,它们是:

www.aaa.com
www.bbb.com
... etc ...
www.zzz.com

所有这些域都是引用同一文档根目录的虚拟主机,因此遵循相同的htaccess文件。

我现在要做的是关掉所有这些,除了三个。我只想保留:

www.aaa.com
www.eee.com
www.uuu.com

我希望所有其他域转发到www.aaa.com,包括完整的原始网址参数和查询字符串。

如何在htaccess文件中设置重写规则,以便进行以下301重定向:

www.bbb.com/thispage/ -> www.aaa.com/thispage/
www.kkk.com -> www.aaa.com
www.eee.com (not redirected - keep processing htaccess rules below)
www.uuu.com/thispage/ (not redirected -  - keep processing htaccess rules below)

我希望我尽可能简单明了!

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在.htaccess目录下的DOCUMENT_ROOT中:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} !^(www\.)?(aaa|eee|uuu)\.com$ [NC]
RewriteRule ^ http://www.aaa.com%{REQUEST_URI} [R=301,L]