我有一个拥有大量域别名的客户端,并希望它们全部重定向到网站上的一个主域。他们还想知道哪些域别名正在进行重定向。我有那个部分,但我想优化代码到最合适的方式,并消除我必须编写的代码量。我想知道是否有办法将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]
答案 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
中的域名。