Créer le .htaccess



La première étape est de créer sur votre disque dur un fichier appelé .htaccess. Oui, c'est un fichier qui n'a pas de nom et qui a seulement une extension, à savoir .htaccess. Ne soyez donc pas étonnés s'il commence par un point.


Ouvrez un nouveau fichier avec votre éditeur de texte favori. Nous allons écrire des codes qui n'ont rien à voir avec du HTML ou du PHP : ce sont des instructions pour le serveur. Elles vont lui expliquer que seules certaines personnes sont autorisées à accéder au dossier. Copiez-y ce code :

AuthName "Page d'administration protégée"

AuthType Basic

AuthUserFile "/home/site/www/admin/.htpasswd"

Require valid-user


Parmi ces quatre lignes, il y en a deux que vous allez devoir changer :

  • AuthName : c'est le texte qui invitera l'utilisateur à inscrire son login et son mot de passe. Vous pouvez personnaliser ce texte comme bon vous semble ;
  • AuthUserFile : là c'est plus délicat ; c'est le chemin absolu vers le fichier .htpasswd (que vous mettrez dans le même répertoire que le .htaccess).


Mais comment je trouve ce chemin absolu, moi ?


En effet, la plupart du temps, cela s'avère délicat à trouver car cela dépend du serveur. Heureusement, il existe une fonction PHP qui va beaucoup nous aider : realpath. Cette fonction donne le chemin absolu vers le fichier que vous indiquez. Vous allez donc faire comme suit pour trouver le chemin absolu.

  1. Créez un fichier appelé chemin.php.
  2. Inscrivez juste cette ligne de code à l'intérieur :


<?php echo realpath('chemin.php'); ?>

  1. Envoyez ce fichier sur votre serveur avec votre logiciel FTP, et placez-le dans le dossier que vous voulez protéger.
  2. Ouvrez votre navigateur et allez voir ce fichier PHP. Il vous donne le chemin absolu, par exemple dans mon cas :

/home/site/www/admin/chemin.php

  1. Copiez ce chemin dans votre .htaccess, et remplacez le chemin.php par .htpasswd, ce qui nous donne au final par exemple :

/home/site/www/admin/.htpasswd

  1. Supprimez le fichier chemin.php de votre serveur, il ne nous sert plus à rien maintenant qu'il nous a donné le chemin absolu.

Si vous êtes hébergés chez Free, il y a une petite subtilité dans la gestion de la localisation du.htpasswd : vous ne devez pas renseigner la ligne AuthUserFile par le chemin absolu du fichier, mais par son chemin relatif à partir de la racine de votre espace perso. Exemple : si vous utilisez un espace Free nommé monftpfree, et que vous placez votre fichier .htpasswd dans un répertoireadmin, le fichier chemin.php vous renverra un chemin sous la forme/mnt/XXX/sda/X/X/monftpfree/admin/.htpasswd. Vous devez alors simplement écrire :/monftpfree/admin/.htpasswd.


Enregistrez le fichier en inscrivant le nom entre guillemets, comme ceci : ".htaccess". Cela permet de forcer l'éditeur à enregistrer un fichier qui commence par un point.

Voilà : on a fini de créer le .htaccess, on peut maintenant passer au .htpasswd ! ;-)

Créé avec HelpNDoc Personal Edition: Convertissez sans effort votre contenu Markdown avec HelpNDoc