如何在使用虚拟主机时在apache中设置环境变量?

时间:2015-12-20 09:38:59

标签: php apache .htaccess http-headers

我正在使用虚拟主机在apache上托管我的php网站。例如,我想仅将http://www.example.com/content/设置为响应HTTP / 1.0的特定目录强制,因为我有一个应用程序需要响应头中的content-length。我试图在“内容”目录中添加.htaccess文件,但似乎无效。文件中只有两行:

SetEnv downgrade-1.0 1
SetEnv force-response-1.0 1

此外,是否有任何方法检查变量是否已更改?我用phpinfo()来检查,但它说仍然使用HTTP / 1.1。我的.htaccess文件出了什么问题?

预期的结果是发送到服务器的HTTP / 1.0或1.1请求,服务器将强制在HTTP标头中使用Content-Length响应HTTP / 1.0。

谢谢。

1 个答案:

答案 0 :(得分:2)

这些指令在/content/.htaccess

中协同工作
SetEnv downgrade-1.0 1
SetEnv force-response-1.0 1

这会强制对发出HTTP / 1.0请求的客户端发出HTTP / 1.0响应。在给定HTTP / 1.1响应时,某些HTTP / 1.0客户端可能无法正常运行,这可用于与它们进行互操作。

Reference

要测试使用命令行curl来验证标头而不是phpinfo()

curl -kI -A "Chrome" -L 'localhost/content/'
HTTP/1.0 200 OK
Date: Sun, 20 Dec 2015 14:52:50 GMT
Server: Apache/2.4.12 (Unix) PHP/5.3.29 mod_wsgi/3.5 Python/2.7.9 OpenSSL/1.0.1j
X-Powered-By: PHP/5.3.29
Connection: close
Content-Type: text/html