使用mod_deflate gzip压缩与mod_expires导致没有缓存?

时间:2016-03-29 16:09:15

标签: apache mod-deflate mod-expires

是否可以同时使用mod_deflate和mod_expires?似乎没有任何资产被缓存,我怀疑它是因为内容因mod_deflate / gzip压缩而发生了变化。服务器返回200状态而不是304.原始ETag不再匹配压缩的ETag ...我错过了什么?

一旦我禁用mod_deflate,资产缓存就好了。为了透明起见,我对两者的设置如下:

<IfModule mod_expires.c>
ExpiresActive on

ExpiresByType image/jpg "access plus 5 minutes"
ExpiresByType image/png "access plus 5 minutes"
ExpiresByType image/gif "access plus 5 minutes"
ExpiresByType image/jpeg "access plus 5 minutes"

ExpiresByType text/css "access plus 5 minutes"

ExpiresByType image/x-icon "access plus 5 minutes"

ExpiresByType text/javascript "access plus 5 minutes"
ExpiresByType application/x-javascript "access plus 5 minutes"
ExpiresByType application/javascript "access plus 5 minutes"
</IfModule>

Mod Deflate:

<IfModule mod_deflate.c>
#Set to gzip all output
SetOutputFilter DEFLATE

#exclude the following file types
SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|iso|tar|bz2|sit|rar|png|jpg|gif|jpeg|flv|swf|mp3|bin)$ no-gzip dont-vary

#set compression level
DeflateCompressionLevel 9

#Handle browser specific compression requirements
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
</IfModule>

0 个答案:

没有答案
相关问题