36 lines
1.0 KiB
ApacheConf
36 lines
1.0 KiB
ApacheConf
DirectoryIndex index.php
|
|
|
|
<IfModule mod_negotiation.c>
|
|
Options -MultiViews
|
|
</IfModule>
|
|
|
|
<IfModule mod_rewrite.c>
|
|
RewriteEngine On
|
|
|
|
# Determine the RewriteBase automatically and set it as environment variable.
|
|
RewriteCond %{REQUEST_URI}::$0 ^(/.+)/(.*)::\2$
|
|
RewriteRule .* - [E=BASE:%1]
|
|
|
|
# Sets the HTTP_AUTHORIZATION header removed by Apache
|
|
RewriteCond %{HTTP:Authorization} .+
|
|
RewriteRule ^ - [E=HTTP_AUTHORIZATION:%0]
|
|
|
|
# Redirect to URI without front controller to prevent duplicate content
|
|
RewriteCond %{ENV:REDIRECT_STATUS} =""
|
|
RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]
|
|
|
|
# If the requested filename exists, simply serve it.
|
|
RewriteCond %{REQUEST_FILENAME} -f
|
|
RewriteRule ^ - [L]
|
|
|
|
# Rewrite all other queries to the front controller.
|
|
RewriteRule ^ %{ENV:BASE}/index.php [L]
|
|
</IfModule>
|
|
|
|
<IfModule !mod_rewrite.c>
|
|
<IfModule mod_alias.c>
|
|
# When mod_rewrite is not available, redirect to the front controller.
|
|
RedirectMatch 307 ^/$ /index.php/
|
|
</IfModule>
|
|
</IfModule>
|