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 strong 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.