mod_deflate - 似乎无法设置内容编码标头

时间:2011-05-06 16:24:44

标签: apache http mod-deflate

我正在尝试设置mod_deflate来提供压缩的css / js / html内容,但是很难让apache正确发送'content-encoding'标头。

我已经尝试了以下内容,放在web根目录中的.htaccess文件中:

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

但是,使用firebug检查标题,它似乎不起作用,即使它在我的本地MAMP副本上也是如此。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您在传送服务器上使用的是哪个版本的Apache?我相信AddOutputFilterByType在版本>中已弃用2.1。但是,您仍然可以完成此任务,只需几行:

SetOutputFilter DEFLATE

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

DEFLATE过滤器,内置了no-gzip环境变量检查。因此,这会打开DEFLATE过滤器,然后关闭所有内容,然后通过为这些请求取消设置css|js|html过滤器来重新启用no-gzip个文件。

希望有所帮助。