gzip工作,但YSlow表明它不是

时间:2011-04-09 08:09:49

标签: .htaccess compression firebug gzip yslow

我已经习惯了 Firebug YSlow 。我正在研究的一件事是gzip压缩。 YSlow仍然为我的网站提供了一个“F”,表示我的CSS和JavaScript文件没有被压缩。

但是,如果我对我的网站运行外部gzip测试(例如http://www.gidnetwork.com/tools/gzip-test.php),它会告诉我gzip正在运行并为我节省了成本,尽管我认为这可能只是HTML。

这是我的.htaccess文件的相关部分:

<IfModule mod_gzip.c>
    mod_gzip_on       Yes
    mod_gzip_dechunk  Yes
    mod_gzip_item_include file      \.css$
    mod_gzip_item_include file      \.(html?|txt|js|php|pl|jpg|png|gif)$
    mod_gzip_item_include handler   ^cgi-script$
    mod_gzip_item_include mime      ^text/.*
    mod_gzip_item_include mime      ^application/x-javascript.*
    mod_gzip_item_exclude mime      ^image/.*
    mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>

为什么YSlow不同意外部gzip测试?

3 个答案:

答案 0 :(得分:2)

mod_gzip是Apache 1的一个过时部分。 x ,已被Apache 2中的mod_deflate取代。

mod_deflate配置让YSlow感到高兴:

<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE application/x-javascript
    AddOutputFilterByType DEFLATE text/css text/html text/plain text/xml
    DeflateCompressionLevel 9
</IfModule>

有两条AddOutputFilterByType行的唯一原因是避免水平滚动。

答案 1 :(得分:0)

不在代理后面测量?我的工作代理螺丝与我的yslow结果......!

答案 2 :(得分:0)

只需将下一个代码添加到.htaccess

即可
# BEGIN GZIP
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</ifmodule>
# END GZIP

似乎它同时使GTmetrix和amp; Yslow快乐

不要忘记添加

ob_start("ob_gzhandler");
如果您使用的是 PHP

,请在头文件的开头