diff options
Diffstat (limited to 'railties/configs')
-rwxr-xr-x | railties/configs/apache.conf | 38 |
1 files changed, 32 insertions, 6 deletions
diff --git a/railties/configs/apache.conf b/railties/configs/apache.conf index 592c7ef155..5548292f8d 100755 --- a/railties/configs/apache.conf +++ b/railties/configs/apache.conf @@ -12,22 +12,48 @@ RewriteBase /dispatch.cgi # Enable this rewrite rule to point to the controller/action that should serve root. # RewriteRule ^$ /controller/action [R] +# <caching> +# 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 +# </caching> + # Add missing slash RewriteRule ^([-_a-zA-Z0-9]+)$ /$1/ [R] # Default rewriting rules. -RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([-_a-zA-Z0-9]+)/([-_a-zA-Z0-9]+)/([0-9]+)$ ?controller=$1&action=$2&id=$3 [QSA,L] -RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([-_a-zA-Z0-9]+)/([-_a-zA-Z0-9]+)$ ?controller=$1&action=$2 [QSA,L] -RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([-_a-zA-Z0-9]+)/$ ?controller=$1&action=index [QSA,L] -RewriteCond %{REQUEST_FILENAME} !-f 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] -RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([-_a-zA-Z0-9]+)/([-_a-zA-Z0-9]+)/([-_a-zA-Z0-9]+)$ ?module=$1&controller=$2&action=$3 [QSA,L] -RewriteCond %{REQUEST_FILENAME} !-f 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 |