From 88a3343ed57c01ca358da8473d15fc4d2b4a5bff Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 15 Feb 2005 01:24:55 +0000 Subject: Backed out of routing merge.. investigating missing patches git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@616 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- railties/configs/apache.conf | 59 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 57 insertions(+), 2 deletions(-) (limited to 'railties/configs') diff --git a/railties/configs/apache.conf b/railties/configs/apache.conf index 1aa874c866..5548292f8d 100755 --- a/railties/configs/apache.conf +++ b/railties/configs/apache.conf @@ -1,6 +1,61 @@ +# 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 -RewriteCond %{REQUEST_FILENAME} !-f -RewriteRule ^(.*)$ /dispatch.fcgi?$1 [QSA,L] +# 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 [R] + +# +# no query string? +RewriteCond %{QUERY_STRING} ^$ + +# no POST method? +RewriteCond %{REQUEST_METHOD} !^POST$ [NC] + +# Request filename is a directory? +RewriteCond %{REQUEST_FILENAME} -d + +# Request filename + '/index' is a file? +RewriteCond %{REQUEST_FILENAME}/index -f + +# Rewrite to request filename + '/index' and finish +RewriteRule ^(.*)/?$ $1/index [QSA,L] + +# no query string? +RewriteCond %{QUERY_STRING} ^$ + +# no POST method? +RewriteCond %{REQUEST_METHOD} !^POST$ [NC] + +# Request filename is a file? +RewriteCond %{REQUEST_FILENAME} -f + +# Finish rewriting +RewriteRule .* - [L] + +# Set default type of cached files to text/html +DefaultType text/html +# + +# 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 \ No newline at end of file -- cgit v1.2.3