Activer les URL sans index.php

Depuis ownCloud 9.0.3, vous devez explicitement configurer et activer les URL sans index.php (par exemple https://exemple.com/apps/files/ au lieu de https://exemple.com/index.php/apps/files/). La documentation suivantes fournit les indications pour configurer ceci pour le serveur Web Apache. Ces étapes ne sont pas nécessaires si vous utilisez le serveur Web nginx, car ceci est déjà activé dans la Exemples de configurations pour Nginx.

Prérequis

Avant de pouvoir utiliser les URL sans index.php, vous devez activer les modules Apache mod_rewrite et mod_env. De plus, la directive AllowOverride All dans le vhost de votre serveur Web est nécessaire. Veuillez consulter le manuel Apache pour savoir comment activer et configurer cela.

De plus, ces instructions ne fonctionnent qu’en utilisant Apache avec le module Apache pour PHP mod_php. D’autres modules comme php-fpm ou mod_fastcgi ne sont pas supportés.

Enfin, l’utilisateur exécutant votre serveur Web (par ex. : www-data) doit pouvoir écrire dans le fichier .htaccess fourni à la racine du répertoire ownCloud (par ex. : /var/www/owncloud/.htaccess). Si vous avez appliqué Renforcement des permissions de répertoires l’utilisateur pourrait ne pas pouvoir écrire dans ce fichier et la mise à jour nécessaire échouera. Vous devez enlever temporairement ces permissions en suivant les instructions décrites dans Permissions pour la mise à jour.

Étapes de configuration

La première étape est de configurer les options overwrite.cli.url et htaccess.RewriteBase dans le fichier config.php (voir Paramètres de Config.php). Si vous accéder à votre instance ownCloud via https://exemple.com/, les deux options suivantes doivent être configurées :

'overwrite.cli.url' => 'https://exemple.com',
'htaccess.RewriteBase' => '/',

Si l’instance est accédée via https://exemple.com/owncloud, l’option de configuration suivante est nécessaire :

'overwrite.cli.url' => 'https://exemple.com/owncloud',
'htaccess.RewriteBase' => '/owncloud',

La seconde étape est d’activer dans ownCloud les URL sans index.php. Ceci est réalisé :

  • lors de la prochaine mise à jour de votre instance ownCloud ;
  • en lançant manuellement la commande occ occ maintenance:update:htaccess (voir Utilisation de la commande occ).

Après cela, votre instance ne devrait plus avoir d’URL avec index.php.

Dépannage

Si l’accès à votre installation d’ownCloud échoue après avoir suivi ces instructions et que vous voyez des messages comme ceci dans votre fichier journal d’ownCloud :

The requested uri(\\/login) cannot be processed by the script '\\/owncloud\\/index.php'

assurez-vous d’avoir configuré correctement les deux options dans votre fichier config.php comme indiqué précédemment.

Toute la documentation est sous licence Creative Commons Attribution 3.0 Unported license — Traduction : Cédric Corazza.