summaryrefslogtreecommitdiffstats
path: root/.htaccess
diff options
context:
space:
mode:
authorLukas Reschke <lukas@owncloud.com>2015-02-11 01:10:03 +0100
committerLukas Reschke <lukas@owncloud.com>2015-12-01 16:46:07 +0100
commit2515cb17be18da4aee32167259ee75fdc7a5a56b (patch)
tree38635a8d2181478f8200c5bb7dea96b26c184822 /.htaccess
parent74e8c25a5b48eb4b675de262ced1702dec4307f4 (diff)
downloadnextcloud-server-2515cb17be18da4aee32167259ee75fdc7a5a56b.tar.gz
nextcloud-server-2515cb17be18da4aee32167259ee75fdc7a5a56b.zip
Support pretty URLs
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` ;-)
Diffstat (limited to '.htaccess')
-rw-r--r--.htaccess15
1 files changed, 15 insertions, 0 deletions
diff --git a/.htaccess b/.htaccess
index 615f5e7fc96..5c11eff9f37 100644
--- a/.htaccess
+++ b/.htaccess
@@ -43,6 +43,21 @@
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