我正在尝试通过 Apache(版本 2.2)向每个请求添加标头值。我已编辑我的 VirtualHost 以包含以下变体:(我已尝试在所有这些情况下使用 RequestHeader 和 Header、add 和 set)
RequestHeader set X-test_url "Test"
或者
<Directory />
RequestHeader set X-test_url "Test"
</Directory>
或者
<Location ~ "/*" >
RequestHeader set X-test_url "Test"
</Location>
很难解释我是如何走到这一步的,但我必须在 Apache 中完成这件事。我再次尝试将标头值添加到每个请求中。谢谢。
答案1
所以你的第一个应该可以正常工作。我刚刚测试了以下内容。在 Red Hat 系统上,我将其添加RequestHeader add X-LocalHeader "Headers For the Win"
到我的 httpd.conf 文件中。
然后,我编写了一个快速 Python 脚本来转储我的环境:
#!/usr/bin/python
import os
print 'Content-type: text/plain'
print
for tup in os.environ.items():
print '%s: %s' % tup
最后,Apache 重新启动并curl
产生以下内容:
[jeff@marvin ~]$ curl http://localhost/cgi-bin/test.py HTTP_接受:*/* HTTP_USER_AGENT:curl/7.19.7 服务器名称:本地主机 远程地址:127.0.0.1 服务器协议:HTTP/1.1 脚本文件名:/var/www/cgi-bin/test.py 远程端口:42551 服务器软件:Apache/2.2.13 (Fedora) 服务器管理员:root@localhost 脚本名称:/cgi-bin/test.py 服务器签名:Apache/2.2.13 请求方法:获取 HTTP_HOST: 本地主机 服务器端口:80 网关接口: CGI/1.1 请求参数: 路径:/sbin:/usr/sbin:/bin:/usr/bin 请求URI:/cgi-bin/test.py HTTP_X_LOCALHEADER:获胜的标头 服务器地址:127.0.0.1 文档根目录:/var/www/html
如您所见,我设置了“HTTP_X_LOCALHEADER”值,它与我们之前添加的标头相对应。看起来您做对了,但它仍然不起作用吗?