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

2 mod-rewrite apache-2.2

我有以下重写语句:

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

我的阅读方式是:

IF HTTP_X_SOMEHEADER equals "mystring" 
AND  
REMOTE_ADDR equals 111.222.111.222 
THEN  
GOTO mypage.html
Run Code Online (Sandbox Code Playgroud)

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

我希望规则仅在标头 HTTP-X-SOMEHEADER 存在且 IP 正确时才通过。

有任何想法吗?

CK.*_*CK. 7

我认为您需要RewriteCond %{HTTP:HTTP_X_SOMEHEADER}选择一个不在mod_rewrite docs中给出的列表中的任意 HTTP 标头。

您的代码符合我期望从设置中获得的行为,因此还有更多内容。错误日志中有什么?