views:

260

answers:

1

The following post explains about the page caching in rails with Nginx.

http://blog.hasmanythrough.com/2008/1/30/segregated-page-cache-storage

I like to implement this solution with my app but on Apache. So, the main block/route is

  if (-f $request_filename) { 
    break; 
  }
    if (-f /cache$request_filename) { 
    rewrite (.*) /cache$1 break;
    break; 
  }

  if (-f /cache$request_filename.html) { 
    rewrite (.*) /cache$1.html break;
    break; 
  }

What could be the Apache equivalent for the above Nginx related code??

A: 

This is what I am using:

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^/$ /cache/index.html [QSA]
RewriteRule ^([^.]+)$ /cache$1.html [QSA]

The 2nd line checks if the cached file exists before doing the redirect, otherwise it would let the request go through to Rails.

Matthew Savage