Enable index.php-less URLs¶
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. These steps are not necessary when using nginx as a web server because it is already
enabled in the Nginx Configuration for the ownCloud 9.x Branches.
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.
Configuration steps¶
The first step is to configure the overwrite.cli.url
and htaccess.RewriteBase
config.php options (See Config.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 Using the 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.