2515cb17be
This changeset allows ownCloud to run with pretty URLs, they will be used if mod_rewrite and mod_env are available. This means basically that the `index.php` in the URL is not shown to the user anymore. Also the not deprecated functions to generate URLs have been modified to support this behaviour, old functions such as `filePath` will still behave as before for compatibility reasons. Examples: http://localhost/owncloud/index.php/s/AIDyKbxiRZWAAjP => http://localhost/owncloud/s/AIDyKbxiRZWAAjP http://localhost/owncloud/index.php/apps/files/ => http://localhost/owncloud/apps/files/ Due to the way our CSS and JS is structured the .htaccess uses some hacks for the final result but could be worse... And I was just annoyed by all that users crying for the removal of `index.php` ;-)
73 lines
2.5 KiB
ApacheConf
73 lines
2.5 KiB
ApacheConf
# Version: 9.0.0
|
|
<IfModule mod_headers.c>
|
|
<IfModule mod_fcgid.c>
|
|
<IfModule mod_setenvif.c>
|
|
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
|
|
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
|
|
</IfModule>
|
|
</IfModule>
|
|
|
|
<IfModule mod_env.c>
|
|
# Add security and privacy related headers
|
|
Header set X-Content-Type-Options "nosniff"
|
|
Header set X-XSS-Protection "1; mode=block"
|
|
Header set X-Robots-Tag "none"
|
|
Header set X-Frame-Options "SAMEORIGIN"
|
|
SetEnv modHeadersAvailable true
|
|
</IfModule>
|
|
|
|
# Add cache control for CSS and JS files
|
|
<FilesMatch "\.(css|js)$">
|
|
Header set Cache-Control "max-age=7200, public"
|
|
</FilesMatch>
|
|
</IfModule>
|
|
<IfModule mod_php5.c>
|
|
php_value upload_max_filesize 513M
|
|
php_value post_max_size 513M
|
|
php_value memory_limit 512M
|
|
php_value mbstring.func_overload 0
|
|
php_value always_populate_raw_post_data -1
|
|
php_value default_charset 'UTF-8'
|
|
php_value output_buffering 0
|
|
<IfModule mod_env.c>
|
|
SetEnv htaccessWorking true
|
|
</IfModule>
|
|
</IfModule>
|
|
<IfModule mod_rewrite.c>
|
|
RewriteEngine on
|
|
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
|
|
RewriteRule ^\.well-known/host-meta /public.php?service=host-meta [QSA,L]
|
|
RewriteRule ^\.well-known/host-meta\.json /public.php?service=host-meta-json [QSA,L]
|
|
RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
|
|
RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
|
|
RewriteRule ^remote/(.*) remote.php [QSA,L]
|
|
RewriteRule ^(build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
|
|
RewriteRule ^(\.|autotest|occ|issue|indie|db_|console).* - [R=404,L]
|
|
|
|
<IfModule mod_env.c>
|
|
SetEnv front_controller_active true
|
|
RewriteRule ^core/js/oc.js$ index.php [PT,E=PATH_INFO:$1]
|
|
RewriteRule ^core/preview.png$ index.php [PT,E=PATH_INFO:$1]
|
|
RewriteCond %{REQUEST_FILENAME} !\.(css|js|svg|gif|png|html|ttf|woff)$
|
|
RewriteCond %{REQUEST_FILENAME} !/remote.php
|
|
RewriteCond %{REQUEST_FILENAME} !/public.php
|
|
RewriteCond %{REQUEST_FILENAME} !/cron.php
|
|
RewriteCond %{REQUEST_FILENAME} !/status.php
|
|
RewriteCond %{REQUEST_FILENAME} !/ocs/v1.php
|
|
RewriteCond %{REQUEST_FILENAME} !/ocs/v2.php
|
|
RewriteRule .* index.php [PT,E=PATH_INFO:$1]
|
|
</IfModule>
|
|
|
|
</IfModule>
|
|
<IfModule mod_mime.c>
|
|
AddType image/svg+xml svg svgz
|
|
AddEncoding gzip svgz
|
|
</IfModule>
|
|
<IfModule mod_dir.c>
|
|
DirectoryIndex index.php index.html
|
|
</IfModule>
|
|
AddDefaultCharset utf-8
|
|
Options -Indexes
|
|
<IfModule pagespeed_module>
|
|
ModPagespeed Off
|
|
</IfModule>
|