2014-09-03 287 views
2

我試圖壓縮所有網站文件以優化網站的性能。到目前爲止,我已經包含了來自HTML5 boilerplate .htaccess示例的壓縮部分。在JavaScript文件上強制GZIP壓縮

下面是相關的代碼片段:

# ------------------------------------------------------------------------------ 
# | Compression                | 
# ------------------------------------------------------------------------------ 

<IfModule mod_deflate.c> 

# Force compression for mangled headers. 
# http://developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping 
<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> 

# Compress all output labeled with one of the following MIME-types 
# (for Apache versions below 2.3.7, you don't need to enable `mod_filter` 
# and can remove the `<IfModule mod_filter.c>` and `</IfModule>` lines 
# as `AddOutputFilterByType` is still in the core directives). 
<IfModule mod_filter.c> 
    AddOutputFilterByType DEFLATE application/atom+xml \ 
            application/javascript \ 
            application/json \ 
            application/rss+xml \ 
            application/vnd.ms-fontobject \ 
            application/x-font-ttf \ 
            application/x-web-app-manifest+json \ 
            application/xhtml+xml \ 
            application/xml \ 
            font/opentype \ 
            image/svg+xml \ 
            image/x-icon \ 
            text/css \ 
            text/html \ 
            text/plain \ 
            text/x-component \ 
            text/xml 
</IfModule> 

</IfModule> 

審查gzipwtf.com似乎將客戶的網站被GZIPing所有的CSS文件,但由於某種原因,JavaScript是被忽略了。我對.htaccess以及這方面的樂趣相當陌生,所以我不確定如何去強制壓縮。有什麼建議麼?

+0

英雄!謝謝,這似乎工作正常。如果你想記錄它作爲答案,我會給你的榮譽。我還提出了一個HTML5 Boilerplate回購問題,以確保它能夠繼續向前發展。再次感謝! – Sheixt 2014-09-03 10:08:32

回答

3

爲了確保適當的互操作性,你需要對JavaScript指定兩個MIME類型:

application/javascript 
text/javascript 

還有一個,但它AFAICT只在過渡期使用:

application/x-javascript