mod_rewrite – 如果一个头不存在,我怎么会失败一条规则?

我有以下的重写声明:

RewriteCond %{HTTP_X_SOMEHEADER} ^mystring$ RewriteCond %{REMOTE_ADDR} ^111\.222\.111\.222$ RewriteRule (.*) /mypage.html [L] 

我读到的方式是:

 IF HTTP_X_SOMEHEADER equals "mystring" AND REMOTE_ADDR equals 111.222.111.222 THEN GOTO mypage.html 

然而,我所看到的是,如果IP是111.222.111.222,但HTTP-X-SOMEHEADER不存在,则规则通过。

我希望规则只有在头HTTP-X-SOMEHEADER存在且IP是正确的时才能通过。

有任何想法吗?

我想你需要RewriteCond %{HTTP:HTTP_X_SOMEHEADER}来获取任何不在mod_rewrite文档给出的列表中的HTTP头。

您的代码与我期望从安装程序期望的行为相匹配,所以还有更多的事情正在进行。 什么是错误日志?