【问题标题】:.htaccess redirecting domain alias'.htaccess 重定向域别名'
【发布时间】:2011-08-19 13:18:31
【问题描述】:

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

这就是我现在所拥有的。我正在寻找被击中的域别名,然后将该别名传递给 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]

【问题讨论】:

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


    【解决方案1】:

    您可以尝试以下方法:

    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

    【讨论】:

    • 完美!正是我在这里寻找的。不知道为什么我什至没有考虑在规则中使用 %{HTTP_HOST} 。非常感谢。
    • 很高兴它为您解决了问题。只要您可以将此答案标记为已接受以关闭此问答:)
    猜你喜欢
    • 2011-02-12
    • 2017-04-11
    • 1970-01-01
    • 2017-12-26
    • 1970-01-01
    • 2013-09-30
    • 2011-09-23
    • 2011-03-23
    • 1970-01-01
    相关资源
    最近更新 更多