我试图通过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'值设置,这对应于我们之前添加的头。 看起来你是对的,是不是还在工作?