Le guide du débutant sur .htaccess

Publié: 2023-10-25

.htaccess – le mot effrayant que tous les propriétaires d’un site Web ont entendu de temps en temps. Bien que le nom lui-même donne l’impression qu’il est trop technique à comprendre, il s’agit d’un outil puissant à avoir dans votre arsenal. En maîtrisant .htaccess, son fonctionnement et ses cas d'utilisation possibles, vous pouvez faire plus qu'assez de choses avec lui sans effort. Voyons de quoi il s'agit, comment vous pouvez l'utiliser à votre avantage, et obtenons les exemples et les explications les plus utiles sur les utilisations les plus courantes de .htaccess !

Qu’est-ce que .htaccess ?

Abréviation de « accès hypertexte », le .htaccess est un fichier de configuration qui peut vous aider à contrôler le logiciel Apache Web Server. Vous pouvez créer le fichier .htaccess et l'ajouter au répertoire afin qu'il soit chargé puis exécuté par le serveur Web Apache.

Pour faire simple, vous pouvez utiliser ce fichier pour activer ou désactiver toute fonctionnalité offerte par le serveur Web. De la redirection de base à la prévention des liens hypertextes, il existe de nombreux avantages à maîtriser le travail avec .htaccess.

À quoi ressemble le fichier .htaccess ?

Le fichier .htaccess est ce que vous en faites. Il peut contenir une seule ligne ou plusieurs, selon l'objectif du fichier. Il y a beaucoup de choses que vous pouvez écrire dans le fichier pour faire tellement de choses, certains des exemples que vous trouverez au fur et à mesure de votre lecture.

Est-ce que j'en ai déjà un ?

Dans la plupart des cas, si vous avez un site Web, vous disposez probablement déjà d’un fichier .htaccess. Vous pouvez généralement le trouver dans le dossier racine de votre site Web. Accédez simplement au dossier contenant tout le contenu de votre site Web et recherchez le dossier Public_HTML ou un dossier nommé www. Si vous disposez de sous-répertoires pour plusieurs sites, vous en trouverez un dans chaque sous-répertoire.

Si vous ne parvenez pas à le trouver, ne vous inquiétez pas. Cela ne veut pas dire que vous ne l’avez pas – il se peut simplement qu’il soit caché. C'est généralement le cas des fichiers commençant par un point, tout comme le fait .htaccess. Par défaut, ils ne sont généralement pas faciles à repérer.

Accédez simplement à votre gestionnaire de fichiers ou à votre client FTP et recherchez l'option « Afficher les fichiers cachés ». Ne négligez aucune option, en particulier « Préférences », « Paramètres » ou « Options ».

Il semble que je n'en ai pas.

Pourtant, ne vous inquiétez pas, car vous pouvez en créer un sans effort. Ce dont vous auriez besoin, c'est d'un éditeur de texte classique et d'un certain sens du détail. Vous pouvez utiliser Microsoft WordPad, ou TextPad par exemple. La partie la plus délicate, cependant, est de s'assurer de nommer et d'enregistrer correctement votre fichier .htaccess.

Tout d’abord, vous devez l’enregistrer au format approprié. Il doit être au format ASCII, alors résistez à la tentation de l'enregistrer au format UTF-8 ou tout autre format.

Deuxièmement, assurez-vous qu’il s’appelle .htaccess. Cela semble assez simple, mais c’est en fait là que le souci du détail entre en jeu. Vous voulez vous assurer de conserver le point au début. L'étape suivante consiste à s'assurer de n'inclure aucune extension de fichier. L’enregistrer sous « htaccess.txt » ne parviendra pas à la ligne d’arrivée. Ajoutez le point et supprimez l'extension !

Enfin, vous souhaitez le télécharger dans le répertoire approprié. Vous pouvez revenir dans le guide et le sauvegarder dans l'un des répertoires mentionnés ci-dessus. Pour ce faire, vous pouvez utiliser FTP ou tout autre gestionnaire de fichiers basé sur un navigateur avec lequel vous êtes à l'aise.

Que puis-je faire avec .htaccess ?

Il y a plusieurs choses que vous pouvez réaliser avec .htaccess et un peu de savoir-faire. En voici quelques uns:

Gestion des erreurs

La première chose, et l'une des plus simples, que vous puissiez faire avec .htaccess, est de vous assurer que vos visiteurs voient un message d'erreur convivial et personnalisé, au lieu d'un message effrayant.

Ce que vous voulez faire, c'est d'abord créer un document HTML. Il est recommandé qu'il contienne la description de l'erreur, par exemple « Not Found » pour les erreurs 404 ou « Bad Gateway » pour les erreurs 502. Cependant, la vérité est que vous pouvez afficher n’importe quel contenu que vous souhaitez.

Vous devez également vous assurer de le nommer correctement afin de savoir de quel document il s’agit. S'il gère une erreur 404, la manière courante de l'enregistrer est au format 404.html. Vous souhaitez également l'enregistrer dans le répertoire error_pages, qui doit contenir tous les documents d'erreur.

Une fois que cela est prêt, vous devez ouvrir votre fichier .htaccess dans un éditeur préféré et saisir quelque chose comme ceci :

Document d'erreur 404 /error_pages/404.html

Cette ligne indiquera au serveur de votre site Web d'afficher le document désigné chaque fois qu'une erreur 404 se produit. Vous pouvez répéter ce processus avec tous les documents d'erreur que vous souhaitez, pour vous assurer que vos visiteurs ne soient pas frustrés par le message trop simple et générique qu'ils recevraient normalement.

Redirections simples

Bien que WordPress dispose de nombreux plugins pour le faire à votre place, vous pouvez également rediriger vos visiteurs à l’aide du fichier .htaccess. Amener vos visiteurs vers la page que vous avez spécifiée au lieu de celle qu’ils ont demandée est une autre tâche simple. En saisissant une autre ligne dans le fichier, vous pouvez rediriger vos visiteurs soit vers un autre endroit de votre site Web, soit même vers un autre site Web.

Pour les rediriger, voici un exemple de ce que vous pourriez ajouter au fichier .htaccess. Vous devriez bien sûr le modifier un peu pour l'adapter à vos besoins.

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

Expliquons cela afin que vous sachiez comment personnaliser cela pour vous assurer que vos visiteurs se retrouvent là où vous souhaitez qu'ils se retrouvent.

Tout d’abord, quel serait le /old_dir/ ? Il s'agit d'un répertoire ou d'un document situé sous votre domaine, ou, plus précisément, il se trouverait à l'adresse « http://www.votredomaine.com/old_dir/ ». C’est le point auquel vos visiteurs tenteront d’accéder. Le reste du fichier précise où ils doivent aboutir. Dans ce cas, ils se retrouveront sur la page d'index du /new_dir/ de votre site Web.

Comme vous pouvez le constater, contrairement au point de départ, la page sur laquelle vous souhaitez que vos utilisateurs aboutissent est une URL complète. Cela est utile lors de la redirection vers un autre domaine, car vous pouvez utiliser n'importe quelle URL et l'ajouter à la place de celle de l'exemple. C'est du gâteau, n'est-ce pas ?

Mot de passe de protection

Si vous cherchez à créer une communauté autour de votre site Web, proposer un espace membre et permettre aux visiteurs de se connecter peut être la solution idéale. Bien que la communauté soit une excellente chose à faire en ce qui concerne vos efforts de marketing et vos ventes, elle peut également vous aider à déterminer qui sont vos utilisateurs et à collecter les informations indispensables sur vos clients.

Tant que vous êtes conforme au RGPD, vous pouvez utiliser cette astuce astucieuse pour modifier votre offre en fonction des informations que vous collectez et, au final, vendre plus !

Comment protéger par mot de passe ?

La possibilité d'ajouter un mot de passe à n'importe quoi sur votre site Web est la manière la plus courante d'utiliser les fichiers .htaccess. C'est également assez simple à faire, et vous pouvez néanmoins protéger par mot de passe un ou plusieurs répertoires. Cela permettra aux utilisateurs d'avoir un nom d'utilisateur et un mot de passe valides pour y accéder, ce qui peut être très utile dans diverses situations.

Si vous configurez une protection par mot de passe pour les répertoires, la procédure de connexion sera plutôt simple et votre navigateur Web la gérera automatiquement. Il apparaîtra sous la forme d'une interface contextuelle d'un navigateur. Les mots de passe sont également cryptés, de sorte que les informations de connexion seront également sécurisées.

Si vous savez quel répertoire vous souhaitez protéger par mot de passe, créez un fichier .htaccess. N'oubliez pas que tous les sous-répertoires seront également protégés par un mot de passe ! Les mêmes règles s'appliquent ici également, mais vous souhaiterez inclure les éléments suivants :

AuthName « Nom du membre »

AuthUserFile /chemin/vers/mot de passe/fichier/.htpasswd

Type d'authentification de base

nécessite un utilisateur valide

Décomposons-le afin que vous sachiez comment le modifier si nécessaire. En première ligne, ce fichier .htaccess précise le nom du répertoire que vous souhaitez protéger. Dans ce cas, il s'agit du répertoire « Nom du membre », mais vous devez le modifier pour qu'il corresponde au nom d'un répertoire qui doit être sous un mot de passe.

La deuxième ligne spécifie le fichier de mots de passe, ou pour être plus précis, l'endroit où le serveur peut trouver le fichier de mots de passe. Le troisième est le type d'autorisation que vous utilisez. Dans l’exemple, il s’agit d’une authentification basic HTTP.

La dernière ligne représente les conditions de connexion. Dans cet exemple, cela nécessite des informations de connexion valides. Vous pouvez ici spécifier ce qui est nécessaire pour être valide, en fonction de ce que vous essayez de protéger par mot de passe.

Le fichier de mots de passe

Maintenant, vous devez trouver le fichier de mots de passe. Bien qu'il puisse se trouver n'importe où sur votre serveur Web, il est recommandé de placer le fichier de mot de passe dans le même répertoire que le fichier .htaccess. En effet, certains serveurs nécessitent cette configuration. Vous devez utiliser le chemin complet du répertoire contenant le fichier de mot de passe sur la deuxième ligne.

Bien entendu, cela signifie également que vous devez disposer du fichier de mots de passe. Dans l’exemple, il s’appelle .htpasswd, mais vous pouvez l’appeler comme vous le souhaitez. Néanmoins, si vous le nommez de la même manière, la bonne nouvelle est que le serveur reconnaîtra ce nom de fichier et le cachera automatiquement aux visiteurs. Le fichier de mots de passe doit contenir quelque chose du genre :

nom d'utilisateur : mot de passe crypté

john_smith:oCF9Pam/MXJg2

Refuser l'accès aux visiteurs

Même avec les sites Web, il existe des persona non grata. Avec le bon fichier .htaccess, vous pouvez limiter l'accès de quelqu'un. Ou, au contraire, autoriser un accès spécifique à un visiteur spécifique. Le premier est plutôt utile si vous cherchez à protéger votre site internet, et le second est parfait si vous souhaitez avoir un contrôle total sur l’aspect spécifique de votre site.

Vous pouvez refuser l'accès aux visiteurs de deux manières. Refusez l'accès à vos visiteurs en fonction de leur adresse IP, ou vous pouvez faire une sélection en fonction du référent.

Refus par IP

Si vous souhaitez inscrire une adresse IP sur la liste noire, vous pouvez le faire sans effort avec l'aide de votre fichier .htaccess. Créez-en un nouveau en suivant les mêmes règles, puis ajoutez le texte suivant.

commande autoriser, refuser

refuser de XXX.XXX

refuser à partir de XXX.XX.X.

permettre à tous

Bien entendu, vous devez remplacer les X par l’adresse IP que vous souhaitez bloquer. Ajoutez-en autant que nécessaire et ce fichier indiquera au serveur Web que ces adresses IP ne sont pas les bienvenues sur votre site. Assurez-vous d'ajouter l'autorisation de tous, car cette ligne signifie que les autres visiteurs sont plus que bienvenus sur votre site Web.

En revanche, si vous souhaitez être le seul à y avoir accès, vous devez plutôt inclure le texte suivant :

commande autoriser, refuser

autoriser à partir de XXX.0.0.0

nier de tous

Bien entendu, vous devez remplacer les X par votre propre adresse IP. Celui-ci indiquera au serveur que vous seul devez avoir accès à un endroit précis.

Refus par le référent

En regardant vos journaux, vous remarquez une activité suspecte. Pourquoi ne pas simplement ajouter le référent à la liste noire et vous débarrasser de tout souci ? Voici comment procéder avec .htaccess.

Créez simplement le fichier comme vous le feriez normalement. L'entrée devrait ressembler à ceci :

Réécrire le moteur activé

# Options + Suivre les liens symboliques

RewriteCond %{HTTP_REFERER} autredomaine\.com [NC]

Réécrire la règle .* – [F]

Cela devrait faire l'affaire! Vous devriez cependant vérifier si le « mod_rewrite » est activé sur votre serveur, car il pourrait être désactivé en raison du fait qu'il pourrait imposer une demande assez importante sur les ressources. Si c'est le cas, vous devriez le vérifier auprès de votre fournisseur d'hébergement.

Essentiellement, ces lignes indiquent au serveur que personne d'autredomaine\.com n'est le bienvenu sur votre site Web. Bien sûr, vous devez plutôt ajouter le domaine approprié ici. La partie « [NC] » à la fin est également très importante, car elle indique que le nom de domaine que vous avez fourni n'est pas sensible à la casse. Ce qui signifie que « OtherDomain » est également interdit.

Si vous cherchez à bloquer plusieurs fauteurs de troubles, ajoutez plutôt « [NC,OR] », puis continuez et ajoutez-en un autre de la même manière :

RewriteCond %{HTTP_REFERER} autredomaine\.com

Vous pouvez continuer ainsi jusqu'à ce que vous soyez satisfait, mais n'oubliez pas d'ajouter '[NC,OR]' à la fin de chacun, sauf le dernier.

Empêcher les mauvais robots d'analyser votre site Web

Une autre raison parfaite d’utiliser .htaccess est d’empêcher les robots d’exploration de votre site Web. S’il existe des logiciels inoffensifs qui téléchargent tout le contenu pour le parcourir hors ligne, il existe également des logiciels malveillants. À savoir, Internet est rempli de robots malveillants, à la recherche d’adresses e-mail à remplir de spams, de failles de sécurité ou simplement de source de contenu.

Bien que ce soit un peu plus avancé que les exemples précédents, vous devriez absolument l'essayer. Empêcher ces mauvais robots de vous faire du mal est une nécessité, d’une manière ou d’une autre.

Créez simplement un autre fichier .htaccess comme vous l’avez fait pour les exemples précédents. Ce que vous devrez y écrire ressemble à ceci :

Réécriture du moteur activé

RéécritureCond %{HTTP_USER_AGENT} ^BlackWidow [OR]

RéécritureCond %{HTTP_USER_AGENT} ^SuperBot

Réécrire la règle ^.* – [F, L]

La vérité est que la liste devrait être beaucoup plus longue, car elle devrait inclure tous les robots chauves-souris bien connus. Vous pouvez trouver une telle liste ici. Plus vous en incluez, mieux c’est.

Assurez-vous néanmoins de le renommer – utilisez le nom du bot au lieu de BlackWidow ou SuperBot. Incluez toujours [OR] à la fin de chacun, mais assurez-vous de ne pas l'utiliser avec le dernier. Voilà ! Votre site Web est exempt de tous ces robots malveillants !

Y a t-il plus?

Bien sûr, il y en a. Comme je l'ai dit, il s'agit après tout d'un guide du débutant. Il existe de nombreuses choses supplémentaires que vous pouvez faire avec les fichiers .htaccess.

Par exemple, vous pouvez utiliser des fichiers .htaccess pour définir le fuseau horaire du serveur ou modifier sa signature. Si votre site Web s'appuie fortement sur les médias, vous pouvez l'utiliser pour vous assurer que tous les fichiers multimédias sont téléchargés au lieu d'être lus. Vous pouvez également l'utiliser pour empêcher les requêtes contenant des caractères non valides, et bien plus encore.

Même si essayer d'épeler .htaccess est problématique, en utiliser un, comme vous pouvez le constater, est un jeu d'enfant, alors que vous pouvez encore accomplir beaucoup de choses avec !

Ce que vous devez garder à l’esprit lors de la création et de la modification de votre fichier, c’est de le tester minutieusement après avoir apporté des modifications avant de le mettre en ligne. Vous ne voulez pas fournir à vos utilisateurs une erreur de serveur interne 500, n'est-ce pas ?

Le dernier conseil

Même si quelque chose ne fonctionne pas correctement, ne soyez pas trop frustré. Vérifiez les fautes de frappe, cela fait généralement l'affaire ! Si ce n'est pas le cas, consultez les forums d'assistance !