11
運行資源:預編譯rake任務時,將創建gzip版本的應用程序資產。根據資產管道的Rails指南,您可以配置您的Web服務器(在我的情況下爲Apache 2.2)來提供這些預壓縮文件,而不是讓Web服務器完成工作。如何配置mod_deflate以提供使用資源準備的gzip資源:預編譯
什麼我不明白是如何獲得mod_deflate配置,以便這些文件被服務而不是被雙重壓縮,然後服務?
我必須通過httpd.conf中啓用了mod_deflate模塊:
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
而且我已經轉換導軌上的代碼引導進入的.htaccess公共/資產:
# Some browsers still send conditional-GET requests if there's a
# Last-Modified header or an ETag header even if they haven't
# reached the expiry date sent in the Expires header.
Header unset Last-Modified
Header unset ETag
FileETag None
# RFC says only cache for 1 year
ExpiresActive On
ExpiresDefault "access plus 1 year"
# Serve gzipped versions instead of requiring Apache to do the work
RewriteEngine on
RewriteCond %{REQUEST_FILENAME}.gz -s
RewriteRule ^(.+) $1.gz [L]
# without it, Content-Type will be "application/x-gzip"
<FilesMatch .*\.css.gz>
ForceType text/css
</FilesMatch>
<FilesMatch .*\.js.gz>
ForceType text/javascript
</FilesMatch>
任何想法如何正確設置這個?
小評 - 如果這不是在.htaccess,它需要在目錄部分,否則-s將無法正常工作。 – lzap
另外,您可能應該推薦使用'application/javascript'而不是'text/javascript'。請參閱*腳本媒體類型*上的[RFC4329](https://tools.ietf.org/html/rfc4329)。 – tne
我必須做的 \t AddEncoding gzip .gz 否則不錯 –
Torsten