Apache : Qu’est-ce qu’un fichier .htaccess ?

.htaccess est un fichier de configuration destiné à être utilisé sur les serveurs web qui exécutent le logiciel Apache Web Server. Lorsqu’un fichier .htaccess est placé dans un répertoire qui est à son tour “chargé via le serveur web Apache”, le fichier .htaccess est détecté et exécuté par le logiciel du serveur web Apache. Ces fichiers .htaccess peuvent être utilisés pour modifier la configuration du logiciel de serveur web Apache afin d’activer/désactiver des fonctionnalités et des caractéristiques supplémentaires que le logiciel de serveur web Apache a à offrir. Ces fonctionnalités comprennent une fonction de redirection de base, par exemple en cas d’erreur dans un fichier 404 non trouvé, ou pour des fonctions plus avancées telles que la protection par mot de passe du contenu ou la prévention des liens chauds des images.

Nous allons vous expliquer comment utiliser un fichier .htaccess

Comment utiliser .htaccess

.htaccess” est le nom complet du fichier, ce n’est pas une extension de fichier. Par exemple, vous ne créeriez pas un fichier appelé “file.htaccess”, il est simplement appelé “.htaccess”. Ce fichier prendra effet lorsqu’il sera placé dans un répertoire quelconque qui sera ensuite chargé à son tour par le logiciel Apache Web Server. Le fichier prendra effet sur l’ensemble du répertoire dans lequel il est placé et sur tous les fichiers et sous-répertoires du répertoire spécifié.

Vous pouvez créer un fichier .htaccess en utilisant n’importe quel bon éditeur de texte tel que TextPad, UltraEdit, Microsoft WordPad et similaire (vous ne pouvez pas utiliser Microsoft NotePad).

Voici un exemple de ce que vous pouvez inclure dans un fichier .htaccess.

AuthName "Member's Area Name"
AuthUserFile /path/to/password/file/.htpasswd
AuthType Basic
require valid-user
ErrorDocument 401 /error_pages/401.html
AddHandler server-parsed .html

Il s’agit d’un exemple assez avancé : il permet de protéger le répertoire par un mot de passe ; il offre une redirection vers une page d’erreur personnalisée si un utilisateur ne parvient pas à se connecter correctement ; et il permet l’utilisation de SSI (server side includes) pour les fichiers “.html”. Ne vous laissez pas décourager, c’est très simple une fois que vous avez acquis une compréhension de base et cet article fournit des exemples prêts à l’emploi – il suffit de copier, coller et personnaliser. Les exemples sont expliqués ligne par ligne afin que vous sachiez exactement à quoi sert chaque ligne et pourquoi vous en avez besoin.

Une fois que vous avez créé un fichier .htaccess, qui peut ressembler à celui présenté ci-dessus (ou peut simplement contenir une ligne), vous devez le télécharger. Cela doit être fait à l’aide d’un programme FTP (protocole de transfert de fichiers). Vous devriez déjà en avoir un que vous aurez utilisé pour télécharger le contenu de votre site web. Si ce n’est pas le cas, de nombreux programmes sont disponibles gratuitement sur des sites web tels que “Download.com” et nous pouvons vous recommander “CuteFTP” et “WSFTP”.

Lorsque vous téléchargez vos fichiers .htaccess, il est très important que vous le fassiez en mode “ASCII”. ASCII” et “BINARY” sont des méthodes différentes de transfert de données et il est important que les fichiers .htaccess soient transférés en mode “ASCII” et non “BINARY”. Il est probable que votre logiciel FTP soit configuré par défaut en mode “BINAIRE”, alors cherchez une option “Mode de transfert” ou “Type de transfert” dans les menus.

Téléchargez le fichier .htaccess dans le répertoire où vous souhaitez qu’il prenne effet. Visitez maintenant ce répertoire en utilisant votre navigateur web comme vous le feriez pour tout autre document sur votre site web et vérifiez qu’il a fonctionné correctement.

Notez que lorsque vous téléchargez votre fichier .htaccess, il se peut qu’il n’apparaisse pas dans la liste des répertoires de fichiers de votre site web. Ne vous inquiétez pas ; cela signifie que votre serveur ou votre logiciel FTP les cache, ce qui ne devrait pas poser de problème.

Une cause d’erreur possible est que les autorisations du fichier .htaccess ne sont pas correctement définies. Cela ne se produit que sur certains serveurs, mais vous pouvez modifier les autorisations sur le fichier en “755” ou “exécutable”. Vous pouvez le faire avec votre logiciel FTP, cherchez une option “File Permissions” ou “CHMOD”, et entrez “0755”.

Si votre fichier .htaccess ne fonctionne pas, vous devez contacter votre administrateur système ou votre hébergeur web et vous assurer qu’ils ont activé le .htaccess dans votre compte. Certaines sociétés d’hébergement web n’autorisent pas l’utilisation sans autorisation. Si les erreurs persistent, consultez cet article pour obtenir des conseils, ou contactez votre administrateur système pour obtenir des conseils.

Documents d’erreur

La création de pages d’erreur personnalisées est très utile, elle vous permet de montrer aux visiteurs du site web un message d’erreur convivial, par exemple si une URL sur votre site web ne fonctionne pas. Cela permet d’éviter l’erreur “404 File Not Found” et d’afficher un message d’erreur convivial, expliquant les solutions possibles et guidant le visiteur vers le contenu de votre site web, plutôt que de le laisser frustré et perdu.

Pour configurer des documents d’erreur personnalisés, créez un fichier .htaccess en suivant les instructions et les conseils principaux qui comprennent le texte suivant

ErrorDocument 404 /error_pages/404.html

La ligne ci-dessus indique au serveur web Apache d’afficher le document situé à /error_pages/404.html (sous votre nom de domaine / adresse de site web) chaque fois qu’une erreur 404 (fichier non trouvé) se produit.

Dans cet exemple, nous avons supposé que vous avez créé le document d’erreur et l’avez appelé “404.html” et que vous l’avez placé dans un répertoire appelé “error_pages” sous votre nom de domaine. Par exemple, http://www.yourdomain.com/error_pages/404.html

Le document 404.html est un document HTML normal comme les autres sur votre site web et peut afficher le contenu que vous souhaitez, mais nous vous recommandons d’inclure un message “Fichier non trouvé”.

Pour configurer d’autres documents d’erreur, par exemple pour les messages d’erreur “401 non autorisé”, “403 interdit” et “500 serveur interne”, créez un fichier .htaccess en suivant les principales instructions et indications qui comprennent le texte suivant

ErrorDocument 401 /error_pages/401.html
ErrorDocument 404 /error_pages/404.html
ErrorDocument 500 /error_pages/500.html

C’est très bien d’afficher un message d’erreur amical, mais il faut surtout résoudre l’erreur. En utilisant un script CGI au lieu d’un document HTML statique comme document d’erreur, nous pouvons enregistrer les erreurs dans une base de données et les résoudre.

Cela peut être réalisé très facilement grâce à une variété de solutions pré-établies qui peuvent même nous montrer quelles sont les erreurs les plus fréquentes. De tels produits peuvent être trouvés sur The CGI Resource Index et HotScripts.com.

Redirection

Les redirections nous permettent de diriger les visiteurs du site web d’un document à l’autre au sein de votre site web. Cela est utile, par exemple, si vous avez déplacé le contenu de votre site web et que vous souhaitez rediriger les visiteurs des anciens liens vers le nouvel emplacement du contenu.

Pour configurer les redirections, créez un fichier .htaccess en suivant les principales instructions et indications qui comprennent le texte suivant

Redirection /old_dir/ http://www.yourdomain.com/new_dir/index.html

La ligne ci-dessus indique au serveur web Apache que si un visiteur demande un document situé dans le répertoire “old_dir”, il doit alors afficher le document “index.html” situé dans le répertoire “new_dir”.

Dans cet exemple, le “old_dir” est l’emplacement du document demandé par le visiteur, et est un document ou un répertoire situé sous votre domaine principal. Dans cet exemple, le répertoire “old_dir” serait situé à l’adresse “http://www.yourdomain.com/old_dir/”. Cependant, vous remarquerez également que l’emplacement du fichier vers lequel le visiteur doit être redirigé est une URL complète du site web, et non pas ce que l’on appelle une URL relative dans le cas de “old_dir”. Cela signifie que nous pouvons rediriger les visiteurs du dossier “old_dir” vers n’importe quel document du site web, il n’a pas besoin d’être contenu dans le contenu de votre site web et peut être n’importe quel site web.

Il est très important (et c’est la cause d’erreur la plus fréquente) que vous compreniez la différence entre une URL relative et une URL absolue ou complète. L’URL relative est l’emplacement du document sur le site web, et ne comprend pas le nom de domaine réel du site web. Ils sont utilisés pour les documents conservés sur le site web afin de simplifier et de raccourcir l’URL. Une URL absolue ou complète est une URL qui inclut le nom de domaine complet.

Par exemple, pour une URL absolue ou complète, “http://www.yourdomain.com/directory/file.html”, l’URL relative de ce document serait “/répertoire/fichier.html”.

Lire la suite : Protection par mot de passe

Laisser un commentaire

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