在 Debian Jessie 安装中,我手动安装了 wordpress 并编辑.htaccess
,打开 mod_expires:
ExpiresActive On
ExpiresDefault modification
但是,当我使用 Firefox Inspector 监视网络流量时,我发现所有 js 和 css 文件都返回 200 OK 并带有 gzip 压缩内容,而不是 HTTP 304。
然后我做了一些实验。
- 我创建了一个几乎为空(不可压缩)的文件
foobar.css
,并在 Firefox 中浏览它。它200 OK
返回未压缩第一次和304 Not Modified
第二次的数据。 - 我重复了几次相同的内容,以创建一个大(可压缩)文件。这次服务器
200 OK
返回压缩第一次、第二次、第三次的数据......每次都返回相同的内容而不是预期的内容304 Not Modified
。
我观察了一下/etc/apache2/mods-enabled/deflate.conf
,发现text/css
默认情况下是放气的:
...
AddOutputFilterByType DEFLATE text/css
...
mod_expires 和 mod_deflate 这两个模块可以同时工作吗?应该如何配置?
非常抱歉我的英语不好。
编辑:我在这里找到了一种解决方法: https://bz.apache.org/bugzilla/show_bug.cgi?id=45023#c22 但是这只是一个解决方法。我认为这确实是一个服务器错误。
答案1
我在这里找到了一种解决方法:https://bz.apache.org/bugzilla/show_bug.cgi?id=45023#c22
.htaccess
只需在httpd 配置文件中输入以下行:
RequestHeader edit "If-None-Match" '^"((.*)-gzip)"$' '"$1", "$2"'
虽然肮脏,但有效。;)