Fichier .htaccess pas pris en compte, que faire ?

I. Présentation

Il se peut que vous tentiez d’utiliser un fichier .htaccess sur votre serveur web afin de faire de la réécriture d’URL, de l’authentification, de la gestion de pages d’erreurs, etc… Sauf qu’au moment d’effectuer les tests vous remarquez que rien ne se passe.

En fait, ceci est dû à la configuration de votre site dans Apache et notamment à la valeur attribuée au paramètre « AllowOverride », qui stipule par défaut qu’on ne prend pas en compte les fichiers de type htaccess. Tout s’explique.

 

II. Explication

Intéressons-nous de plus près au paramètre « AllowOverride » afin de voir les différentes valeurs qu’on peut lui attribuer et ce qu’elles signifient. Voici une liste des valeurs possibles accompagnées d’une explication pour chacune d’entre elles :

- « None » : Valeur par défaut qui implique que les fichiers .htaccess sont ignorés pour l’intégralité du site.

- « AuthConfig » : Valeur qui permet l’autorisation des directives d’autorisations, plus précisément d’authentification (AuthName, AuthType, etc.).

- « FileInfo » : Valeur qui permet l’utilisation des directives de contrôle des documents et des modules, comme par exemple la directive ErrorDocument pour la personnalisation des messages d’erreurs et la réécrite d’URL avec URLRewrite.

- « Indexes » : Valeur qui permet l’utilisation des directives concernant l’indexation des dossiers, comme par exemple DirectoryIndex pour définir un ou des index alternatifs.

- « Limit » : Valeur qui permet l’utilisation des directives concernant les restrictions d’accès au serveur, à savoir Allow, Deny et Order.

- « All » : Valeur qui permet l’utilisation de toutes les directives.

Note : Vous pouvez combiner plusieurs valeurs d’autoriser uniquement les types de directives que vous souhaitez.

III. Modification

Maintenant que nous avons pris connaissances des différentes valeurs pouvant être attribuées à l’option « AllowOverride », nous pouvons modifier la configuration de notre site Apache. Dans le cas où vous utilisez le site par défaut d’Apache (ce qui est le cas si vous avez qu’un seul site sur votre serveur), le fichier à modifier est le suivant :

/etc/apache2/sites-available/default

Vous obtiendrez ceci ou quelques choses d’équivalent :

allowoverride1

AllowOverride None Apache

Dans la configuration du répertoire « /var/www/ » qui correspond donc à la racine de notre site, on remarque la présence de « AllowOverride None » qui signifie donc « J’ignore les .htaccess » ou plus précisément « J’ignore toutes les directives contenu dans les fichiers .htaccess ».

Modifiez la valeur attribuée au paramètre avec une (ou plusieurs) valeur indiquée ci-dessus. Par exemple :

allowoverride2

AllowOverride All Apache

 

IV. Redémarrage du service Apache

Une fois le paramétrage terminé, il ne vous reste plus qu’à redémarrer votre servie Apache afin qu’il prenne en compte les modifications apportées. Ensuite, vous pourrez profiter pleinement de vos fichiers .htaccess.

service apache2 restart

 

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian B.

Co-Fondateur d'IT-Connect, je souhaite partager mes connaissances et expériences avec vous, et comme la veille techno' est importante je partage aussi des actus.

florian has 2070 posts and counting.See all posts by florian

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

 

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.