2011-11-25 24 views
0

我試圖通過使用mod_deflate和mod_headers來減少我的網站的加載速度,它壓縮內容並設置過期日期,但也刪除了我的內容的ETag。根據Yslow的說法,它不會從我的圖像(png's),css和js中刪除ETags。Etag's沒有被取出CSS,JS和圖像?

我的.htaccess代碼:

<IfModule mod_deflate.c> 
    <IfModule mod_setenvif.c> 
     <IfModule mod_headers.c> 
      SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$   HAVE_Accept-Encoding 
      RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding 
     </IfModule> 
    </IfModule> 
    <IfModule filter_module> 
     FilterDeclare COMPRESS 
     FilterProvider COMPRESS DEFLATE resp=Content-Type $text/html 
     FilterProvider COMPRESS DEFLATE resp=Content-Type $text/css 
     FilterProvider COMPRESS DEFLATE resp=Content-Type $text/plain 
     FilterProvider COMPRESS DEFLATE resp=Content-Type $text/xml 
     FilterProvider COMPRESS DEFLATE resp=Content-Type $text/x-component 
     FilterProvider COMPRESS DEFLATE resp=Content-Type $application/javascript 
     FilterProvider COMPRESS DEFLATE resp=Content-Type $application/json 
     FilterProvider COMPRESS DEFLATE resp=Content-Type $application/xml 
     FilterProvider COMPRESS DEFLATE resp=Content-Type $application/xhtml+xml 
     FilterProvider COMPRESS DEFLATE resp=Content-Type $application/rss+xml 
     FilterProvider COMPRESS DEFLATE resp=Content-Type $application/atom+xml 
     FilterProvider COMPRESS DEFLATE resp=Content-Type $application/vnd.ms-fontobject 
     FilterProvider COMPRESS DEFLATE resp=Content-Type $image/svg+xml 
     FilterProvider COMPRESS DEFLATE resp=Content-Type $application/x-font-ttf 
     FilterProvider COMPRESS DEFLATE resp=Content-Type $font/opentype 
     FilterChain  COMPRESS 
     FilterProtocol COMPRESS DEFLATE change=yes;byteranges=no 
    </IfModule> 
    <IfModule !mod_filter.c> 
     # Legacy versions of Apache 
     AddOutputFilterByType DEFLATE text/html text/plain text/css application/json 
     AddOutputFilterByType DEFLATE application/javascript 
     AddOutputFilterByType DEFLATE text/xml application/xml text/x-component 
     AddOutputFilterByType DEFLATE application/xhtml+xml application/rss+xml application/atom+xml 
     AddOutputFilterByType DEFLATE image/svg+xml application/vnd.ms-fontobject application/x-font-ttf font/opentype 
    </IfModule> 
</IfModule> 
<IfModule mod_expires.c> 
    ExpiresActive on 
    ExpiresDefault       "access plus 1 month" 
    ExpiresByType text/cache-manifest  "access plus 0 seconds" 
    ExpiresByType text/html     "access plus 0 seconds" 
    ExpiresByType text/xml     "access plus 0 seconds" 
    ExpiresByType application/xml   "access plus 0 seconds" 
    ExpiresByType application/json   "access plus 0 seconds" 
    ExpiresByType application/rss+xml  "access plus 1 hour" 
    ExpiresByType image/x-icon    "access plus 1 month" 
    ExpiresByType image/gif     "access plus 1 month" 
    ExpiresByType image/png     "access plus 1 month" 
    ExpiresByType image/jpg     "access plus 1 month" 
    ExpiresByType image/jpeg    "access plus 1 month" 
    ExpiresByType video/ogg     "access plus 1 month" 
    ExpiresByType audio/ogg     "access plus 1 month" 
    ExpiresByType video/mp4     "access plus 1 month" 
    ExpiresByType video/webm    "access plus 1 month" 
    ExpiresByType text/x-component   "access plus 1 month" 
    ExpiresByType font/truetype    "access plus 1 month" 
    ExpiresByType font/opentype    "access plus 1 month" 
    ExpiresByType application/x-font-woff "access plus 1 month" 
    ExpiresByType image/svg+xml    "access plus 1 month" 
    ExpiresByType application/vnd.ms-fontobject "access plus 1 month" 
    ExpiresByType text/css     "access plus 1 year" 
    ExpiresByType application/javascript "access plus 1 year" 
    ExpiresByType text/javascript   "access plus 1 year" 
    <IfModule mod_headers.c> 
     Header append Cache-Control "public" 
    </IfModule> 
</IfModule> 
<IfModule mod_headers.c> 
    Header unset ETag 
</IfModule> 
FileETag None 

來自http://html5boilerplate.com/

+1

自己檢查標題。可能是因爲YSlow是錯的。可能是因爲你的瀏覽器的緩存混亂了。 – Gerben

+0

如何檢查標題? – Charlie

+1

使用chrome。在開發人員工具下使用網絡選項卡。或者在Firefox中使用Firebugs net選項卡 – Gerben

回答

0

我想我想通了..

YSlow的是緩存的結果。更改瀏覽器(從Safari到Firefox)似乎表明,ETags實際上已被刪除。

+0

查理,你可能想在這裏「接受」你自己的答案,所以這表明已解決。 – BrianC