Enable index.php-less URLs
Introduction
Since ownCloud 9.0.3 you need to explicitly configure and enable index.php-less URLs (e.g. https://example.com/apps/files/
instead of https://example.com/index.php/apps/files/
). The following documentation provides the needed steps to configure this for the Apache
Web server.
Prerequisites
Before being able to use index.php-less URLs you need to enable the mod_rewrite
and mod_env
Apache modules. Furthermore a configured AllowOverride All
directive within the vhost of your Web server is needed. Please have a look at the Apache
manual for how to enable and configure these.
Furthermore these instructions are only working when using Apache together with the mod_php
Apache module for PHP. Other modules like php-fpm
or mod_fastcgi
are unsupported.
Finally the user running your Web server (e.g. www-data
) needs to be able to write into the .htaccess
file shipped within the ownCloud root directory (e.g., /var/www/owncloud/.htaccess
). If you have applied Set Correct Permissions, the user might be unable to write into this file and the needed update will fail. You need to revert this strong permissions temporarily by following the steps described in setting permissions for updating.
Configuration steps
The first step is to configure the overwrite.cli.url
and htaccess.RewriteBase
config.php options (See config_sample_php_parameters). If you’re accessing your ownCloud instance via https://example.com/
the following two options need to be added / configured:
'overwrite.cli.url' => 'https://example.com',
'htaccess.RewriteBase' => '/',
If the instance is accessed via https://example.com/owncloud
the following configuration is needed:
'overwrite.cli.url' => 'https://example.com/owncloud',
'htaccess.RewriteBase' => '/owncloud',
As a second step ownCloud needs to enable index.php-less URLs. This is done:
-
during the next update of your ownCloud instance
-
by manually running the occ command
occ maintenance:update:htaccess
(See occ_command)
Afterwards your instance should have index.php-less URLs enabled.
Troubleshooting
If accessing your ownCloud installation fails after following these instructions and you see messages like this in your ownCloud log:
The requested uri(\\/login) cannot be processed by the script '\\/owncloud\\/index.php'
make sure that you have configured the two config.php
options listed above correctly.