mod_rewrite - 如果标题不存在,我如何导致规则失败?

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 正确时,规则才会通过。

有任何想法吗?

答案1

我认为你需要RewriteCond %{HTTP:HTTP_X_SOMEHEADER}选择一个不在给定列表中的任意 HTTP 标头mod_rewrite 文档

您的代码符合我期望的设置行为,因此还有更多事情发生。错误日志中有什么?

相关内容