![如何存储非标准 HTTP 请求标头的值以在 Apache If 条件中使用](https://linux22.com/image/802716/%E5%A6%82%E4%BD%95%E5%AD%98%E5%82%A8%E9%9D%9E%E6%A0%87%E5%87%86%20HTTP%20%E8%AF%B7%E6%B1%82%E6%A0%87%E5%A4%B4%E7%9A%84%E5%80%BC%E4%BB%A5%E5%9C%A8%20Apache%20If%20%E6%9D%A1%E4%BB%B6%E4%B8%AD%E4%BD%BF%E7%94%A8.png)
我的服务器将收到一个名为 EmployeeID 的非标准 HTTP 请求,我想使用该请求来确定对服务器上某些目录的访问权限。如何存储传入的非标准 HTTP 请求标头的值,以便可以使用 Apache 指令在 If 条件中使用它?
在网上搜索了好长一段时间后,我找到了以下方法,我尝试使用 RewriteRule 将标头保存到环境变量中,以便稍后可以访问变量的值进行比较。不幸的是,我只遇到了挫折,而不是成功。
<Direcory "\Apache24\htdocs\usrs">
RewriteEngine on
RewriteRule .* - [E=EmployeeID:%{HTTP:EmployeeID}]
<If "{Request_URI} != /%{EmployeeID}/">
Deny from all
</If>
</Directory">