From 084915a3328178e9e51ddeac7e9d0aad9c42ea3c Mon Sep 17 00:00:00 2001 From: Matthew Weier O'Phinney Date: Thu, 10 Jan 2013 14:34:23 -0600 Subject: [PATCH] Use alias rule always - I tested using the new RewriteCond and RewriteRule that were in the comments on my previous commit against a non-aliased host - and they work perfectly in that environment. As such, this is actually a better solution, as it will work in all cases. - Documented the reasons for the rule in the file. --- public/.htaccess | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/public/.htaccess b/public/.htaccess index f13c154..de2cf3f 100644 --- a/public/.htaccess +++ b/public/.htaccess @@ -1,11 +1,16 @@ RewriteEngine On +# The following rule tells Apache that if the requested filename +# exists, simply serve it. RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] -RewriteRule ^.*$ index.php [NC,L] -# If you are using phpcloud.com or other cloud PaaS solutions, you may need to -# Remove the line immediately above this comment, and uncomment the following: -# RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$ -# RewriteRule ^(.*)$ - [E=BASE:%1] -# RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L] +# The following rewrites all other queries to index.php. The +# condition ensures that if you are using Apache aliases to do +# mass virtual hosting, the base path will be prepended to +# allow proper resolution of the index.php file; it will work +# in non-aliased environments as well, providing a safe, one-size +# fits all solution. +RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$ +RewriteRule ^(.*) - [E=BASE:%1] +RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L]