我正在运行 PHP 5.3.2 和 Apache 2.2.14。使用header()
,如果我发送“ETagx”,我会在响应中得到标题,但如果我发送“ETag”,正确的标题名称,我什么也得不到。
header('ETagx: "33653a-4831d8249af80"')
工作,而
header('ETag: "33653a-4831d8249af80"')
才不是。php.ini 或任何可能影响此的 Apache 配置文件中是否有配置选项?
刚刚在 PHP 5.3 和 Apache 2.4 上测试过,它对我有用。
确保 Apache 不会像这样取消设置您的 Etag:
<IfModule mod_headers.c>
Header unset ETag
</IfModule>
FileETag None
当我启用Charles HTTP 代理并启用“无缓存”选项时,我复制了这种情况 - HTTP 代理正在删除 ETag 和其他与缓存相关的标头。如果使用代理查看标头,请确保为特定请求启用缓存。