我正在使用虚拟主机在 apache 上托管我的 php 站点。例如我想设置 http://www.example.com/content/只有这个特定目录强制响应 HTTP/1.0,因为我有一个应用程序需要响应 header 中的内容长度。我尝试在“内容”目录中添加 .htaccess 文件,但似乎不起作用。文件中只有两行:
SetEnv downgrade-1.0 1
SetEnv force-response-1.0 1
此外,有什么方法可以检查变量是否发生变化?我已经使用 phpinfo() 进行了检查,但它说仍在使用 HTTP/1.1。我的 .htaccess 文件出了什么问题?
预期结果是无论 HTTP/1.0 或 1.1 请求发送到服务器,服务器都会强制响应 HTTP/1.0,并在 HTTP header 中包含 Content-Length。
谢谢。
最佳答案
这些指令在您的 /content/.htaccess
中协同工作:
SetEnv downgrade-1.0 1
SetEnv force-response-1.0 1
这会强制对发出 HTTP/1.0 请求的客户端进行 HTTP/1.0 响应。某些 HTTP/1.0 客户端在给出 HTTP/1.1 响应时可能无法正确运行,这可用于与它们进行互操作。
要测试使用命令行curl来验证 header 而不是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
关于php - 使用虚拟主机时如何设置apache的环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34379658/