# General Apache options AddHandler fastcgi-script .fcgi AddHandler cgi-script .cgi Options +FollowSymLinks +ExecCGI # Make sure that mod_ruby.c has been added and loaded as a module with Apache RewriteEngine On # Change extension from .cgi to .fcgi to switch to FCGI and to .rb to switch to mod_ruby RewriteBase /dispatch.cgi # Enable this rewrite rule to point to the controller/action that should serve root. # RewriteRule ^$ /controller/action # Add missing slash RewriteRule ^([-_a-zA-Z0-9]+)$ /$1/ [R] # Default rewriting rules. RewriteRule ^([-_a-zA-Z0-9]+)/([-_a-zA-Z0-9]+)/([0-9]+)$ ?controller=$1&action=$2&id=$3 [QSA,L] RewriteRule ^([-_a-zA-Z0-9]+)/([-_a-zA-Z0-9]+)$ ?controller=$1&action=$2 [QSA,L] RewriteRule ^([-_a-zA-Z0-9]+)/$ ?controller=$1&action=index [QSA,L] RewriteRule ^([-_a-zA-Z0-9]+)/([-_a-zA-Z0-9]+)/([-_a-zA-Z0-9]+)/([0-9]+)$ ?module=$1&controller=$2&action=$3&id=$4 [QSA,L] RewriteRule ^([-_a-zA-Z0-9]+)/([-_a-zA-Z0-9]+)/([-_a-zA-Z0-9]+)$ ?module=$1&controller=$2&action=$3 [QSA,L] RewriteRule ^([-_a-zA-Z0-9]+)/([-_a-zA-Z0-9]+)/$ ?module=$1&controller=$2&action=index [QSA,L] # You can also point these error messages to a controller/action ErrorDocument 500 /500.html ErrorDocument 404 /404.html