From fce92fd8a7e407b034d189a652af81a06ac98730 Mon Sep 17 00:00:00 2001 From: leprasmurf Date: Mon, 23 Jan 2012 14:13:33 -0500 Subject: Added Apache configuration for dynamic gzip content --- railties/guides/source/asset_pipeline.textile | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/railties/guides/source/asset_pipeline.textile b/railties/guides/source/asset_pipeline.textile index ff2bd08602..f6e56ed529 100644 --- a/railties/guides/source/asset_pipeline.textile +++ b/railties/guides/source/asset_pipeline.textile @@ -505,7 +505,30 @@ This directive is available if the core module that provides this feature was co If you're compiling nginx with Phusion Passenger you'll need to pass that option when prompted. -A robust configuration for Apache is possible but tricky; please Google around. (Or help update this Guide if you have a good example configuration for Apache.) +For Apache: + +Using the Apache config tricks found on the Crave DIY blog, the following rewrite rules check the client's header to see if gzip is supported, then checks the filesystem to ensure a gzipped version exists, finally serving the gzipped file and forcing a the appropriate type. + + +# Turn on the Rewrite engine +RewriteEngine On +# Check the client headers to see if they accept gzips +RewriteCond %{HTTP:Accept-Encoding} gzip +# Confirm the file exists in gzip format +RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME}.gz -f +# Rewrite url to us gzip file +RewriteRule (.*\.(js|css))$ $1\.gz [L] + +# If we've rewritten to a .css.gz file, force text/css + + ForceType text/css + + +# If we've rewritten to a .js.gz file, force application/x-javascript + + ForceType application/x-javascript + + h4. Live Compilation -- cgit v1.2.3