需要为Apache中的每个请求添加请求标头

我试图通过Apache(版本2.2)为每个请求添加一个标头值。 我编辑了我的VirtualHost以包含以下变化:(我已经尝试了RequestHeader和Header,添加并设置所有这些情况)

RequestHeader set X-test_url "Test" 

要么

 <Directory /> RequestHeader set X-test_url "Test" </Directory> 

要么

 <Location ~ "/*" > RequestHeader set X-test_url "Test" </Location> 

这很难解释我是如何得到这一点的,但我必须在Apache中完成这个工作。 我再次试图将标题值添加到每个请求。 谢谢。

所以你的第一个工作应该没问题。 我刚刚testing了以下内容。 在红帽系统上,我添加了RequestHeader add X-LocalHeader "Headers For the Win"为我的httpd.conf文件RequestHeader add X-LocalHeader "Headers For the Win"

然后,我放了一个快速的Python脚本来转储我的环境:

#!/usr/bin/python import os print 'Content-type: text/plain' print for tup in os.environ.items(): print '%s: %s' % tup
#!/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_ACCEPT:* / *
 HTTP_USER_AGENT:curl / 7.19.7 
 SERVER_NAME:localhost
 REMOTE_ADDR:127.0.0.1
 SERVER_PROTOCOL:HTTP / 1.1
 SCRIPT_FILENAME:/var/www/cgi-bin/test.py
 REMOTE_PORT:42551
 SERVER_SOFTWARE:Apache / 2.2.13(Fedora)
 SERVER_ADMIN:root @ localhost
 SCRIPT_NAME:/cgi-bin/test.py
 SERVER_SIGNATURE:Apache / 2.2.13 

 REQUEST_METHOD:GET
 HTTP_HOST:localhost
 SERVER_PORT:80
 GATEWAY_INTERFACE:CGI / 1.1
请求参数: 
path:/ sbin:/ usr / sbin:/ bin:/ usr / bin
 REQUEST_URI:/cgi-bin/test.py
 HTTP_X_LOCALHEADER:标题为Win
 SERVER_ADDR:127.0.0.1
 DOCUMENT_ROOT:/ var / www / html

正如你所看到的,我有一个'HTTP_X_LOCALHEADER'值设置,这对应于我们之前添加的头。 看起来你是对的,是不是还在工作?