.htaccess

Les fichiers .htaccess sont des fichiers de configuration des serveurs web Apache. Ils peuvent être placés dans n'importe quel répertoire du site web (la configuration s'applique au répertoire et à tous ceux qu'il contient n'ayant pas de tel fichier à l'intérieur). Ils peuvent être modifiés alors même que le serveur est en cours d'exécution.

Ils servent à modifier les droits d'accès, créer des redirections, écrire des messages d'erreur personnalisés ou associer les extensions de fichier à des types MIME.

Sommaire

Sécurité et restrictions

Les fichiers .htaccess permettent à un utilisateur autorisé à déposer des fichiers dans un répertoire du serveur de surcharger au vol la configuration de celui-ci. L'administrateur d'un serveur Apache restreint donc en général l'utilisation des fichiers .htaccess à quelques directives particulières grâce à la directive AllowOverride.

L'utilisation des fichiers .htaccess a un coût en matière de performances car le serveur web doit vérifier la présence d'un tel fichier avant de traiter chaque requête.

Attention lors de l'utilisation de <Limit GET>...</Limit> qui comporte une faille possible avec Apache : les requêtes inconnues ne sont pas stoppées par <Limit GET>, et sont ensuite automatiquement transformées en GET. La page est donc envoyée quand même (source pour plus d'informations).

URL Rewriting

Les fichiers .htaccess permettent également de réécrire les URL afin de les simplifier. Par exemple, une URL du type :

http://www.example.com/viewtopic.php?order=0&start=1256&message=50

peut être transformée en :

http://www.example.com/topic-1256-50.html

On suppose ici que la valeur 'order' est à 0 par défaut. Le .htaccess contiendra :

RewriteEngine on
RewriteRule ^topic-([0-9]+)-([0-9]+)\.html$ viewtopic.php?order=0&start=$1&message=$2 [L]

Le module d’URL Rewriting facilite le référencement sur les moteurs de recherche. Il n'est cependant pas activé chez tous les hébergeurs, en particulier les gratuits.

La sécurisation d'un répertoire ou d'un fichier par mot de passe

L'une des principales utilités du fichier .htaccess est de sécuriser une partie d'un site. Pour cela, on place dans le répertoire à protéger un fichier .htaccess avec le contenu suivant:

AuthUserFile /var/www/.htpasswd
AuthGroupFile /var/www/.htgroup
AuthName "Visiteur, vous pénétrez dans une section réservée aux membres, veuillez vous identifier"
AuthType Basic
<Limit GET>
require group Membres Admin
</Limit>
<LimitExcept GET>
deny from all
</LimitExcept>

Les couples utilisateur / empreinte du mot de passe sont stockés dans le fichier .htpasswd de la façon suivante:

jacques:$apr1$TVFhC/..$rRph2WN9n1DeW6Cs89So2.
franck:$apr1$vAVyg…$HXoAN3bh.Ff6hxXKopIFpE1
robert:$apr1$7ALHn/..$aV8IuW3jqdQWaStyX2Izg.
laurent:$apr1$2o89Z/..$SVDHl7FK4A0w8le.cq1Z1

La majorité des hébergeurs proposent un outil permettant de calculer l'empreinte d'un mot de passe (pour éviter de le stocker en clair). Le programme htpasswd fourni avec le serveur Apache permet également de le faire.

Les groupes d'utilisateurs sont définis dans le fichier .htgroup de la façon suivante:

Membres:robert laurent franck
Admin:jacques franck

L'authentification "Basic" est toujours disponible chez tous les hébergeurs. Il existe d'autres types d'authentification beaucoup plus sûrs, utilisés notamment en matière de sécurité bancaire ou pour la lecture des cartes d'identités électroniques, mais ces authentifications nécessitent des modules spécifiques.

La gestion des pages d'erreurs

Apache fournit une page générique affichant une erreur (avec son code défini dans la RFC) lorsqu'une ressource ne peut être accédée directement. Il est possible de créer une page d'erreur personnalisée (ici la page erreur.html à la racine du site) et de la mentionner dans le fichier .htaccess de la manière qui suit :

ErrorDocument 401 /erreur.html
ErrorDocument 403 /erreur.html
ErrorDocument 404 /erreur.html
ErrorDocument 414 /erreur.html

La redirection des erreurs est toujours disponible quel que soit l'hébergeur.

Créer un fichier .htaccess sous Windows

Les systèmes d'exploitation Windows ne permettent pas de renommer un fichier en .htaccess sauf si vous affichez les extensions via option des dossiers via l'environnement de bureau. Pour créer un fichier .htaccess, il faut créer un nouveau fichier à l'aide d'un éditeur de texte et sélectionner Enregistrer sous… dans le menu Fichier. Dans la fenêtre de sauvegarde, il faut entrer ".htaccess" (sans oublier de choisir l'option tous les fichiers au lieu de "Fichiers texte (*.txt)" pour que l’éditeur ne rajoute pas l'extension '.txt'; une méthode plus facile c'est mettre le nom entre guillemets) puis cliquer sur Enregistrer.

Il est également possible d'utiliser un éditeur de texte avancé comme Notepad++ qui permet un enregistrement naturel de ces fichiers, ou alors, de créer un fichier txt.htaccess qui sera ensuite renommé sur le serveur, ou encore de créer un fichier texte appelé htaccess.txt par exemple, puis de le renommer en tapant en ligne de commande sous windows (cmd.exe) : rename htaccess.txt .htaccess.

Pour les utilisateurs de solutions WAMP, et avec l'ajout d'un serveur FTP comme FileZilla par exemple, il est également possible de se servir d'un client FTP. Il suffit d'enregistrer le fichier sous format .txt puis de se connecter via FTP pour remplacer htaccess.txt par .htaccess.

Une autre façon de créer un .htaccess avec la ligne de commande : echo >.htaccess

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article .htaccess de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • Htaccess — Les fichiers .htaccess sont des fichiers de configuration des serveurs web Apache. Ils peuvent être placés dans n importe quel répertoire du site web (la configuration s applique au répertoire et à tous les répertoires qu il contient, qui n ont… …   Wikipédia en Français

  • .htaccess — (от. англ. hypertext access) файл дополнительной конфигурации веб сервера Apache, а также подобных ему серверов. Позволяет задавать большое количество дополнительных параметров и разрешений для работы веб сервера в отдельных каталогах… …   Википедия

  • Htaccess — (engl. hypertext access „Hypertext Zugriff“) ist eine Konfigurationsdatei, in der verzeichnisspezifische Einstellungen auf NCSA kompatiblen Webservern (z. B. Apache) vorgenommen werden können. Beispielsweise lässt sich dort ein Zugriffsschutz für …   Deutsch Wikipedia

  • .htaccess — (engl. hypertext access „Hypertext Zugriff“) ist eine Konfigurationsdatei, in der verzeichnisspezifische Einstellungen auf NCSA kompatiblen Webservern (z. B. Apache) vorgenommen werden können. Beispielsweise lässt sich dort ein… …   Deutsch Wikipedia

  • Htaccess — Dateien sind Konfigurationsdateien für Apache Webserver. Sie ermöglichen es z.B., Webseiten und Verzeichnisse vor unberechtigten Zugriffen zu schützen oder Umleitung für Anfragen bestimmter User Agents anzulegen. Man kann mit Ihnen auch… …   SEO Wörterbuch

  • .htaccess — In several web servers (most commonly Apache), .htaccess ( hypertext access ) is the default name of directory level configuration files. A .htaccess file is placed in a particular directory, and the directives in the .htaccess file apply to that …   Wikipedia

  • .htaccess — Un fichero .htaccess (hypertext access), también conocido como archivo de configuración distribuida, es un fichero especial, popularizado por el Servidor HTTP Apache que permite definir diferentes directivas de configuración para cada directorio… …   Wikipedia Español

  • Htaccess — …   Википедия

  • .htpasswd — htaccess (engl. hypertext access „Hypertext Zugriff“) ist eine Konfigurationsdatei, in der verzeichnisspezifische Einstellungen auf NCSA kompatiblen Webservern (z. B. Apache) vorgenommen werden können. Beispielsweise lässt sich dort ein… …   Deutsch Wikipedia

  • Domainweiterleitung — Eine Domainweiterleitung (URL forward) wird verwendet, um eine Domain (z. B. example.net ) an eine andere Hostadresse (z. B. example.com ) weiterzuleiten. Dabei kann gezielt nur der Domainname ersetzt werden. So lässt sich… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”