开发者

mod_deflate - can't seem to get content-encoding header to be set

I am trying to set up mod_deflate to deliver compressed css/js/html content, but am having difficulty getting apache to send the 'content-encoding' header correctly.

I have tried the following, placed in my .htaccess file in the web root:

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-javascript application/javascript text/javascript text/css application/xml

but, checking the headers using firebug, it doesn't appear to be working, even though it does on 开发者_JAVA百科my local copy of MAMP.

Any ideas?


Which version of Apache are you using on your delivery server? I believe the AddOutputFilterByType is deprecated in versions > 2.1. However, you can still accomplish this, just a few more lines:

SetOutputFilter DEFLATE

SetEnvIf Request_URI "^" no-gzip
SetEnvIf Request_URI \.(?:css|js|html)$ !no-gzip

The DEFLATE filter, has a built-in check of the no-gzip environment variable. So, this is turning on the DEFLATE filter, then turning it off for everything, then turning it back on for css|js|html files by un-setting the no-gzip filter for those requests.

Hope that helps.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜