Apache Require 环境被忽略

Apache Require 环境被忽略

我在 .htaccess 中有以下简单指令,我喜欢允许通过环境、条件进行访问:

SetEnv ABC 1
<RequireAny>
  Require env ABC 
</RequireAny>

在我看来很简单,但访问总是被拒绝:

AH01626: authorization result of Require env ABC: denied
[Thu Apr 10 14:33:19.091773 2014] [authz_core:debug] [pid 6583] mod_authz_core.c(802): [client 127.0.0.1:49697] AH01626: authorization result of <RequireAny>: denied

请问有什么想法吗?

答案1

使用SetEnvIf

此指令设置的内部环境变量是在大多数早期请求处理指令运行后设置的,例如访问控制和 URI 到文件名映射。如果您要设置的环境变量是作为此早期处理阶段的输入(例如 指令)RewriteRule,则应改为使用 来设置环境变量SetEnvIf

http://httpd.apache.org/docs/2.2/mod/mod_env.html#setenv

相关内容