打开deflate时,apache httpd mod_expires不起作用

在Debian Jessie安装中,我手动安装了wordpress并编辑了.htaccess ,将mod_expires转为:

 ExpiresActive On ExpiresDefault modification 

但是,当我使用Firefox Inspector来观看networkingstream量时,我发现所有的js和css文件都返回200 OK,而不是使用HTTP 304。

然后我做了一些实验。

  1. 我创build了一个名为foobar.css的几乎为空的(不可压缩的)文件,并在Firefox中浏览它。 它第一次返回200 OK ,第一次是未压缩的数据,第二次是304 Not Modified
  2. 我多次重复相同的内容来创build一个大的(可压缩的)文件。 这一次服务器第一次,第二次,第三次返回200 OK压缩数据…每次它返回相同的内容,而不是预期的304 Not Modified

我看了/etc/apache2/mods-enabled/deflate.conf ,发现text/css在默认情况下是放气的:

 ... AddOutputFilterByType DEFLATE text/css ... 

两个模块mod_expires和mod_deflate可以同时工作吗? 我应该如何configuration它们?

非常抱歉破碎的英文。

编辑:我已经find了一个解决方法在这里: https : //bz.apache.org/bugzilla/show_bug.cgi?id=45023#c22但是,这只是一个解决方法。 我认为这真的是一个服务器错误。

我在这里find了一个解决方法: https : //bz.apache.org/bugzilla/show_bug.cgi?id = 45023#c22

只需在.htaccess或httpdconfiguration文件中放入以下行:

 RequestHeader edit "If-None-Match" '^"((.*)-gzip)"$' '"$1", "$2"' 

脏,但有效。 ;)