Apache-2.2

使用 htaccess 啟用 gzip …為什麼會命中或錯過?

  • November 12, 2012

我通過 Justhost 共享主機。我使用 HTML5 Boilerplate .htaccess (已經嘗試過其他方法,沒有運氣)壓縮部分如下:

<IfModule mod_deflate.c>

 # Force deflate for mangled headers 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
 <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/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>

但是,它不起作用——至少我不認為——我的首頁 (html) 沒有壓縮,CSS 和一些 JS 沒有壓縮。

它在 HTML、CSS 和 JS 上都失敗了。

但是,有些東西是(或者曾經,誰知道你檢查時會是什麼樣子)gzip 壓縮的。

我的域名是http://adaminfinitum.com/

奇怪的是,Firefox 的(Google)PageSpeed 瀏覽器擴展(無論目前版本是什麼

$$ Nov. 2012 $$) 給了我 95% 的速度評級(並且沒有關於壓縮的警告),但是 YSlow 和 Chrome 開發工具都標記了我關於 gzip 的問題,就像我在研究這個時在這裡找到的一個工具一樣。 為了減少 cookie,我在我的網站上設置了一個子域,我想也許就是這樣,所以我也在那裡添加了一個 .htaccess,但沒有運氣。

為了減少 http 請求,我在 CSS 中嵌入了一些 webfonts 和圖像(HTML5 BP 規定不壓縮圖像,顯然 ‘.woff’ 文件已經被壓縮)所以我想也許就是這樣,我花了一整天的時間分離和非同步載入那些部分(通過Modernizr.load),但這也無濟於事……如果由於http請求的增加而使情況變得更糟(我意識到非同步資源的速度得分可能會產生誤導)。

對此進行研究,這似乎是一個相當普遍的問題,但我還沒有找到解釋/解決方案。

我認為這不是 MIME 類型的問題,我已經四次檢查(並三次編輯)我的 .htaccess 文件。

我的託管公司說他們執行 Apache 2.2.22,我已經查看了我能找到的所有內容。

是什麼賦予了?

  1. Mod_Deflate是一個可以載入的模組,它不是任何版本的 Apache 的一部分。
  2. .htaccess 文件可能包含“覆蓋”指令。哪些可以在 Apache 的主要配置文件中進行管理控制,他們甚至可以將 Apache 配置為使用不同的文件名。僅僅因為你在一個 .htaccess 文件中放了一些東西並不意味著 Apache 可以或將用它做任何事情。

您必須聯繫您的主機以確定是否以及如何配置壓縮。

引用自:https://serverfault.com/questions/447705