Archive for June 2006

Quick Apache Rewrite Rule for MVC Apps

Josh Schachter, at the Future of Web Apps Summit, described mod_rewrite as both a necessity and a “dark art.” For today’s crop of MVC-framework web applications, it’s difficult to create user-friendly and hackable URLs without it. Here are a couple rules that make it easy to direct all requests to a single controller:

RewriteEngine On
RewriteBase /
RewriteRule ^(.*).html$ index.php?request=$1 [QSA,L]

This will essentially push all files with an .html extension through your front controller. But, what if you have a file with this extension that you want to serve up? Just check to see if the file exists before redirecting to the controller:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*).html$ index.php?request=$1 [QSA,L]

This essentially replaces the O’Reilly tutorial about creating a front controller, and it even works in Apache 2!

Add to Del.icio.us | Digg This | Leave a Comment