- 我有一個樣式住在/static/styles/min.css
- 當頭部允許,我把它改寫到/static/styles/min.css.gz(預壓縮文件)
- 當我使用curl + GET請求min.css文件,我找回壓縮的內容。
- 當我在瀏覽器中請求實際頁面時,沒有應用CSS。
- 如果我關閉重寫,CSS應用很好,所以這是一個gzip內容的問題。
- 響應頭包括: 「內容傳輸編碼:二進制」, 「內容類型:應用程序/ x-gzip的」, 「內容長度:61021」
這是在我的虛擬主機文件:gzip js/css瀏覽器不能理解。傳輸編碼問題?
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteRule ^(.*)\.css$ $1\.css\.gz [L,T=text/css]
<FilesMatch .*\.css\.gz>
ForceType text/css
Header unset Content-Transfer-Encoding
Header append Content-Encoding gzip
Header append Content-Type text/css
</FilesMatch>
你可能想報頭組沒有標題附加(這是很可能是因爲您發送多個內容類型標頭)。不mod_deflate緩存它壓縮的東西嗎?是否真的值得壓縮這些文件(我不知道)?無法抗拒:*咳嗽* nginx。 *咳嗽*更快。 – AD7six 2012-02-08 17:50:04
感謝您的回覆。標題集不能解決它。我不認爲mod_deflate緩存。無論如何,我想避免把這個負載放在Apache上。我們的構建系統預先壓縮這些文件,所以從開發角度來看它確實沒有額外的開銷。 Nginx速度更快,但我是這個大型網站上唯一的開發人員/管理員,並且我沒有經驗,沒有足夠的帶寬來接收任何新的內容。 – 2012-02-08 20:09:08