Apache压缩:Deflate .js和.css文件没有压缩?

24

我在 Apache 中通过将以下内容添加到我的 .htaccess 文件中来启用输出压缩:

# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

# Or, compress certain file types by extension:
<Files *.html>
SetOutputFilter DEFLATE
</Files>

所以我正在使用 Content-Encoding: gzip 服务所有内容,但是当我使用 Yslow 测试我的网页时,我收到了以下消息:

Grade D on Compress components with gzip

There are 3 plain text components that should be sent compressed

* http://mysite.com/javascript/youTubeEmbed/youTubeEmbed-jquery-1.0.css
* http://mysite.com/javascript/jquery.swfobject.1-1-1.min.js
* http://mysite.com/javascript/youTubeEmbed/youTubeEmbed-jquery-1.0.js

问题在哪里?它们不应该自动压缩吗?

谢谢

Luca

3个回答

29

你是否记得在重新加载页面和运行YSlow之前清除缓存?

我遇到了完全相同的问题,并通过这种方式解决。这是我的代码:

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

通过添加样式表和脚本,我不知怎么地解决了我的问题,对于谷歌浏览器(没有在其他浏览器上检查),一些Apache无法识别text/css或任何javascript变化,但是谷歌浏览器中的脚本可以。 - Paulo Lima

6
在我的案例中,我通过在.htaccess文件中添加以下行就解决了完全相同的问题: AddOutputFilterByType DEFLATE text/javascript 也许服务器没有将javascript识别为application/javascript,而是text/javascript。希望能有所帮助。

这对我也起作用了!谢谢。 - Fernando Basso

2

在我的情况下,我必须删除反向代理服务器(nginx)- 当然,您也可以使用nginx.conf文件配置压缩(可能位于/ etc / nginx或使用位于/ etc / nginx / conf.d目录中的自己的.conf文件),但nginx会引起其他一些问题。 从使用Plesk的服务器中删除nginx后,请查看以下提示: http://forum.parallels.com/showthread.php?t=260563 长话短说:请注意文件是否真正由Apache提供服务,或者它们是由类似nginx的东西处理的。 顺便说一句,一个快速的测试工具: http://www.gidnetwork.com/tools/gzip-test.php


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接