Qu’est-ce qu’un fichier htaccess ?
Il s’agit d’un fichier spécial (commençant par un point) dans lequel vous avez la possibilité d’ajouter des directives précises comme :
- Effectuer des redirections,
- Ajouter des entrées pour le cache,
- Créer des règles de réécritures d’adresses,
- Modifier des paramètres PHP sur son compte,
- Réaliser une authentification (avec le fichier
.htpasswd
), - Modifier les propriétés de PHP (si le PHP est exécuté en module Apache),
- Gérer l’accès (restreindre, bloquer totalement.., pour des adresses IP, forcer l’utilisation d’identifiants..) à un fichier et/ou dossier, à une URL,
- Et bien d’autres fonctionnalités que nous n’allons pas citer dans cet article qui vise une utilisation avancée et non experte du fichier htaccess.
Le fichier .htaccess
ne modifie le comportement que du répertoire (et des sous-répertoires) où il est situé, il est possible de mettre un fichier dans un sous-répertoire qui annule ou définit des règles différentes que celui dans le répertoire parent.
Ce fichier de configuration d’Apache, permet de définir des règles pour des répertoires du site web. Il est utilisé généralement pour mettre en place :
- des droits d’accès
- des redirections
- des messages d’erreur personnalisés
Nous présentons dans cet article quelques directives pour aider nos abonnés à comprendre le mécanisme de ce fichier.
Notez que ce lien d’aide n’est pas une référence pour une utilisation experte du htaccess.
Appeler une page d’erreur personnalisée
Vous pouvez en premier lieu bloquer ou autoriser l’accès à votre site web pour des adresses IP et/ou des domaines spécifiques .
Pour cela, vous devez d’abord créer un fichier .htaccess dans le dossier racine de votre site web (/www/monsite/ par exemple) et y ajouter les directives suivantes :
Blocage par adresse IP
Blocage par domaine
Autoriser des IP
Autoriser un domaine
Autoriser et bloquer
Empêcher le listing d’un répertoire
Indiquez en premieu lieu la ligne suivante dans un fichier .htaccess du répertoire en question : Il faut rajouter dans un fichier .htaccess des lignes de ce type:
Interdire un répertoire à tout le monde
Indiquer d’abord cette ligne dans le fichier .htaccess du répertoire en question :
Créer une authentification sécurisée
Afin de mettre en place une authentification sécurisée pour accéder à un répertoire, veuillez d’abord suivre les étapes suivantes :
- Générer en premier lieu un mot de passe crypté
- Copier en deuxième lieu le couple login / mot de passe obtenu dans un fichier nommé .htpasswd
- Créer en dernier lieu un fichier .htaccess dans le répertoire à protéger et y inscrire le contenu suivant (à adapter selon vos besoins) :
Explications :
- AuthName : défini le texte qui sera affiché dans la fenêtre d’authentification.
- AuthUserFile : contient le chemin vers le fichier .htpasswd. Attention, il faut entrer le chemin absolu vers le fichier.
Rediriger http vers https
Indiquez tout d’abord les lignes suivantes au début du fichier .htaccess de votre site pour que le flux http soit automatiquement redirigé vers https :
ou encore
Contactez ensuite votre webmaster avant l’ajout de cette redirection si vous utilisez un CMS (WordPress, Drupal, Joomla, autre) cela vous évitera de créer des boucles de redirections qui mettent en péril le bon fonctionnement de votre site web.