我已经习惯了Firebug和YSlow。我正在研究的一件事是gzip压缩。YSlow仍然给我的网站一个"F",表明我的CSS和JavaScript文件没有被压缩。
然而,如果我对我的网站(如http://www.gidnetwork.com/tools/gzip-test.php
)运行外部gzip测试,它告诉我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测试?
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
的唯一原因是为了避免水平滚动
不支持代理?我的工作代理螺丝与我缓慢的结果…!
只需将下一个代码添加到您的。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 &Yslow快乐
别忘了加上
ob_start("ob_gzhandler");
如果你使用的是PHP