From 73cd160bfc6e4a1b88f2117eb0c097a91ac5c753 Mon Sep 17 00:00:00 2001 From: Jeremy Benoist <jeremy.benoist@gmail.com> Date: Thu, 14 Jan 2016 18:15:07 +0100 Subject: Switch to Symfony 3 structure --- web/.htaccess | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'web/.htaccess') diff --git a/web/.htaccess b/web/.htaccess index b52e3ae6..4dc72516 100644 --- a/web/.htaccess +++ b/web/.htaccess @@ -5,6 +5,18 @@ # to each configured DirectoryIndex file (e.g. index.php, index.html, index.pl). DirectoryIndex app.php +# By default, Apache does not evaluate symbolic links if you did not enable this +# feature in your server configuration. Uncomment the following line if you +# install assets as symlinks or if you experience problems related to symlinks +# when compiling LESS/Sass/CoffeScript assets. +# Options FollowSymlinks + +# Disabling MultiViews prevents unwanted negotiation, e.g. "/app" should not resolve +# to the front controller "/app.php" but be rewritten to "/app.php/app". +<IfModule mod_negotiation.c> + Options -MultiViews +</IfModule> + <IfModule mod_rewrite.c> RewriteEngine On @@ -18,9 +30,9 @@ DirectoryIndex app.php RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$ RewriteRule ^(.*) - [E=BASE:%1] - # Sets the HTTP_AUTHORIZATION header removed by apache + # Sets the HTTP_AUTHORIZATION header removed by Apache RewriteCond %{HTTP:Authorization} . - RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] + RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect to URI without front controller to prevent duplicate content # (with and without `/app.php`). Only do this redirect on the initial @@ -34,15 +46,15 @@ DirectoryIndex app.php # - use Apache >= 2.3.9 and replace all L flags by END flags and remove the # following RewriteCond (best solution) RewriteCond %{ENV:REDIRECT_STATUS} ^$ - RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L] + RewriteRule ^app\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L] # If the requested filename exists, simply serve it. # We only want to let Apache serve files and not directories. RewriteCond %{REQUEST_FILENAME} -f - RewriteRule .? - [L] + RewriteRule ^ - [L] # Rewrite all other queries to the front controller. - RewriteRule .? %{ENV:BASE}/app.php [L] + RewriteRule ^ %{ENV:BASE}/app.php [L] </IfModule> <IfModule !mod_rewrite.c> -- cgit v1.2.3