我编写了一个Web应用程序,该应用程序使用需要 ETag的其他人的API。我试过这段代码:
header("ETagbleh: whatever");
完美无缺。但是,当我设置它时:
header("ETag: whatever");
什么都没发生。我听说可能是Apache阻止发送ETag,但我不确定。我已经在apache2.conf中搜索了ETag,找不到任何取消注释/删除的东西,所以我来这里问。
那么,我怎样才能阻止Apache阻止我的标题?
编辑:我正在使用Apache 2.2.22,我认为脚本语言是无关紧要的,因为我正在使用的PHP 5.4.4可以设置任何其他标题。
答案 0 :(得分:0)
我遇到了同样的问题。
在Apache2中删除ETag的一种非常流行的方法是添加以下配置:
Header unset ETag
FileETag None
删除第一个配置行,如果您在配置中找到它。
更难找到mod_include
导致问题。默认情况下,此模块将删除ETag-Header。但您可以通过配置来允许它。所以添加这样的东西:
<IfModule mod_include.c>
SSIETag on
</IfModule>
有关详细信息,请参阅here。