By default NextCloud has index.php in the urls, it’s not a show stopper at all but it’s good to have nice clean urls when sharing.

Tested on NextCloud 11 Ubuntu 16.04.1 server.

Login to your server and check 1st if rewrite module is enabled.

apachectl -M

rewrite module <>

If not, enable it with env module by below command:

a2enmod rewrite
a2enmod mod_env

I assume you have installed nextcloud in /var/www/nextcloud. Just to make sure the .htaccess file has correct owner and group.

chown www-data:www-data /var/www/nextcloud/.htaccess

Now we will add one line of code to config.php:

vim /var/www/nextcloud/config/config.php

Add the following line to $CONFIG array:

'htaccess.RewriteBase' => '/',

config file <>

Now let’s update the htaccess file by occ:

cd /var/www/html
sudo -u www-data php occ maintenance:update:htaccess

htaccess config file <>

By running the above command it will add rewrite code to htaccess file.

Restart apache(necessary if rewrite was not enabled before):

systemctl restart apache2