.htaccess重定向域别名'

时间:2011-05-05 16:26:19

标签: .htaccess mod-rewrite redirect domain-aliasing

我有一个拥有大量域别名的客户端,并希望它们全部重定向到网站上的一个主域。他们还想知道哪些域别名正在进行重定向。我有那个部分,但我想优化代码到最合适的方式,并消除我必须编写的代码量。我想知道是否有办法将RewriteRule url传递给使用的域别名。

这就是我现在所拥有的。我正在寻找被击中的域别名,然后将该别名传递给url。然后在谷歌分析中,我可以看到该网址用于点击页面的次数。

RewriteCond %{HTTP_HOST} ^(www\.)?domain-alias1\.com [NC]
RewriteRule ^(.*) http://www.main-domain.com/?domain-alias1\.com$1 [R=301,L}

但我的目标是不必为每个域别名编写条件和规则。

有没有办法查看哪个别名被击中,然后让重写规则自动将其添加到我指定的位置?

我最初尝试过这样的事情只是为了看看它是否有用(虽然我尝试了很多不同的方法):

RewriteCond %{HTTP_HOST} ^(www\.)?([a-z]+)\.com [NC]
RewriteRule ^(.*) http://www.main-domain.com/?$1\.com$2 [R=301,L]

1 个答案:

答案 0 :(得分:4)

您可以尝试以下几点:

RewriteCond %{HTTP_HOST} !^(www\.)?main-domain\.com$ [NC]
RewriteRule ^(.*) http://www.main-domain.com/$1?domain=%{HTTP_HOST} [R=301,L]

对此,域www.main-domain.com的任何 NOT 请求都会被重定向到www.main-domain.com,其中包含查询字符串domain中的域名。