运行资产时:预编译rake任务,会创建应用程序资产的gzip压缩版本.根据资产管道的Rails指南,您可以配置Web服务器(在我的情况下是Apache 2.2)来提供这些预压缩文件,而不是让Web服务器完成工作.
我无法弄清楚的是如何配置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
Run Code Online (Sandbox Code Playgroud)
我已经将rails指南上的代码转换为公共/资产中的.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 …Run Code Online (Sandbox Code Playgroud)