了解使用HTTP_HOST的重定向

时间:2013-03-10 17:24:00

标签: apache .htaccess mod-rewrite

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

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.com(后面没有其他任何内容,基本上是对索引页面的请求)到HTTP_HOST?< / p>

感谢。

1 个答案:

答案 0 :(得分:1)

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

换句话说,{{1}}是用户传递给服务器的内容。该条件会检查用户再次提供的内容。