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 :
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 :
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
bonjour, pouvez-vous m’expliquer comment ça ce passe sur Windows 10 ? étape par étapes s’il vous plaît