0

我目前正在阅读有关重定向的教程,并且有点困惑。以下内容应该将所有对当前域的请求重定向到一个新域。

RewriteCond %{HTTP_HOST} old_domain\.com [NC]
RewriteRule ^(.*)$ http://www.new_domain.com/$1 [L,R=301]

然而目的是HTTP_HOST什么?它包含什么?对我来说HTTP_HOST包含当前的主机名?( old_domain.com) 因此我对上述规则的理解是它正在测试一个包含旧域的字符串,然后是旧域?old_domain.com/old_domain.com

不应该吗?

RewriteCond %{HTTP_HOST} [NC]
RewriteRule ^(.*)$ http://www.new_domain.com/$1 [L,R=301]

作为另一个帮助理解的示例,您将如何将请求重定向到mysite.com(其次是其他内容,因此本质上是对索引页面的请求)到mysite2.comusing HTTP_HOST

谢谢。

4

1 回答 1

1

条件是%{HTTP_HOST}根据旧主机检查提供的主机。因此,如果请求通过主机“old_domain.com”进入服务器,则应运行下一条规则。如果主机是其他任何东西,甚至是 www.old_domain.com,则将跳过下一条规则。

换句话说,%{HTTP_HOST}就是用户传递给服务器的内容。该条件检查用户再次提供了您为其编写规则的内容。

于 2013-03-10T17:37:18.733 回答