2012-02-15 23 views
0

YSlow的报告说: F级上用gzip压缩组件的.htaccess帮助adusting gzip和过期值

有应发送压缩12个明文组件

http://www.mysite.com/css/c/style 
http://www.mysite.com/css/c/dd.css 
http://www.mysite.com/css/c/jqueryslidemenu.css 
http://www.mysite.com/assets/js/browser-detection.css 
http://www.mysite.com/assets/js/jquery-1.6.min.js 
http://www.mysite.com/assets/js/jquery.dd.js 
http://www.mysite.com/images/jquery.pngFix.pack.js 
http://www.mysite.com/assets/js/jqueryslidemenu.js 
http://www.mysite.com/assets/js/browser-detection.js 
http://www.mysite.com/assets/js/cufon-yui.js 
http://www.mysite.com/assets/js/Futura_Bk_BT_400.font.js 
http://www.mysite.com/store/ajax/getpubs.php 

有32个静电元件没有远期的到期日期。

(2012/2/17) http://www.mysite.com/css/c/style 
(2012/2/17) http://www.mysite.com/css/c/dd.css 
(2012/2/17) http://www.mysite.com/css/c/jqueryslidemenu.css 
(no expires) http://www.mysite.com/assets/js/browser-detection.css 
(2012/2/15) http://www.google-analytics.com/ga.js 
(no expires) http://www.mysite.com/assets/js/jquery-1.6.min.js 
(1997/7/26) http://www.mysite.com/j/banner_slides 
(1997/7/26) http://www.mysite.com/j/multi-click-slider 
(no expires) http://www.mysite.com/assets/js/jquery.dd.js 
(no expires) http://www.mysite.com/images/jquery.pngFix.pack.js 
(no expires) http://www.mysite.com/assets/js/jqueryslidemenu.js 
(no expires) http://www.mysite.com/assets/js/browser-detection.js 
(no expires) http://www.mysite.com/assets/js/cufon-yui.js 
(no expires) http://www.mysite.com/assets/js/Futura_Bk_BT_400.font.js 
(no expires) http://www.mysite.com/assets/js/fonts.js 
(1997/7/26) http://www.mysite.com/j/jquerycourseslide.js 
(no expires) http://www.mysite.com/images/menu_bg.png 
(no expires) http://www.mysite.com/images/menuArrowYellow.png 
(no expires) http://www.mysite.com/images/menuArrowGrey.png 
(no expires) http://www.mysite.com/images/bgHomeBanner.png 
(no expires) http://www.mysite.com/images/btnHomeBannerLeft.png 
(no expires) http://www.mysite.com/images/btnHomeBannerRight.png 
(no expires) http://www.mysite.com/images/btnLeft.png 
(no expires) http://www.mysite.com/images/btnRight.png 
(no expires) http://www.mysite.com/images/select-base.png 
(no expires) http://www.mysite.com/images/select-cap.png 
(no expires) http://www.mysite.com/images/iconComments.png 
(no expires) http://www.mysite.com/images/bgRSS.png 
(no expires) http://www.mysite.com/images/bgFooter.png 
(no expires) http://www.mysite.com/files/Subscriptionad4.jpg 
(no expires) http://www.mysite.com/images/favicon.ico 
(2000/4/19) http://www.google-analytics.com/__utm.gif?... 

我有这个添加到我的.htaccess:

<IfModule mod_headers.c> 
    Header unset ETag 
    Header unset Last-Modified 
</IfModule> 
FileETag None 

<IfModule mod_deflate.c> 
    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 
    BrowserMatch ^Mozilla/4 gzip-only-text/html 
    BrowserMatch ^Mozilla/4\.0[678] no-gzip 
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html 
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary 
    Header append Vary User-Agent env=!dont-vary 
</IfModule> 

<Files *.php> 
    SetOutputFilter DEFLATE 
</Files> 

<IfModule mod_gzip.c> 
    mod_gzip_on Yes 
    mod_gzip_dechunk Yes 
    mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$ 
    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> 

<IfModule mod_expires.c> 
    ExpiresActive On 
    ExpiresDefault "access plus 1 seconds" 
    ExpiresByType text/html "access plus 1 seconds" 
    ExpiresByType image/gif "access plus 2592000 seconds" 
    ExpiresByType image/jpeg "access plus 2592000 seconds" 
    ExpiresByType image/png "access plus 2592000 seconds" 
    ExpiresByType text/css "access plus 604800 seconds" 
    ExpiresByType text/javascript "access plus 216000 seconds" 
    ExpiresByType application/x-javascript "access plus 216000 seconds" 
</IfModule> 

调整需要什么,以避免上述报告进行?

注:这是由ExpresssionEngine不带扩展名担任模板链接:

http://www.mysite.com/css/c/style 
http://www.mysite.com/j/banner_slides 
http://www.mysite.com/j/multi-click-slider 

ExpressionEngine GZIP输出设置为Yes。

回答

0

确保你做了页面的硬刷新(ctrl + F5)。我注意到YSlow使用缓存的标题信息,因此没有显示正确的信息。

此外,请确保您已启用适当的Apache模块。通过删除ifmodule标签(除了mod_gzip标签,您可以完全删除的部分)来检查。

我认为YSlow要求至少有7天到期,至少604800秒。

也删除行:Header unset Last-Modified除非你知道它做了什么,并有一个特殊的目的。

+0

YSlow必须每次都使用相同的缓存,因为我已经这样做了,它仍然会提供相同的信息。它可能是过期和gzip没有启用我的服务器? – MB34 2012-02-20 16:47:15

+0

只需检查HTTP标头,看看是否存在'Expires:...'和/或'Content-Encoding:gzip' – Gerben 2012-02-20 17:02:19