Sélectionnez votre langue

- Les HTACCESS et HTPASSWD

 

Plateforme : Serveur Apache
Détails : Configuration et utilisations des fichiers .htaccess et .htpasswd

 

Les fichiers HTACCESS permettent d'établir des règles qui sont interprétées par le serveur (Apache).
Voici les principales utilisations de ces fichiers :

- Protéger l'accès à un ou plusieurs fichiers, répertoires, et type de fichiers
- Restreindre l'accès avec des règles bien définies
- Faire des redirections
- Personnaliser les messages d'erreur
- etc ...



Comment créer un fichier .htaccess :

Comme vous pouvez le remarquer le fichier .htaccess n'a aucun nom de fichier, il a juste une extension.
Le contenu de ce fichier est du texte, c'est pourquoi vous pouvez le créer sous un éditeur de texte tel que
le bloc note. Pour l'enregistrer en ".htaccess" vous avez plusieurs solutions.

La première consiste à faire "Enregistrer sous" dans le bloc note et de placer le type sur "Tous les fichier"
puis "Enregister".




La deuxième solution qui est la plus simple à mon avis, c'est de renommer son fichier directement
sous Filezilla ou un autre client FTP.


Comment protéger l'accès à son site avec un .htaccess :

Voici la principale utilisation du fichier ".htaccess".
Pour restreindre l'accès, l
e fichier doit être placé dans le répertoire à protéger, si vous voulez interdire l'accès au site, mettez-le à la racine du serveur web.

Voici le code à insérer dans votre fichier ".htaccess" :

AuthUserFile chemin_absolu/.htpasswd
AuthName "Accès protégé"
AuthType Basic
Require valid-user
Le fichier ".htpasswd" devra être créer de la même manière que vous venez de créer le fichier ".htaccess".
Pour trouver le chemin absolu de votre fichier ".htpasswd", reportez vous un peu plus bas dans la partie "Comment trouver le chemin absolu d'un répertoire ?".

Voici un aperçu du contenu d'un ".htpasswd"

user:mot_de_passe_crypter_ou_non
Pour crypter votre mot de passe vous pouvez utiliser la fonction php "crypt"
<? php echo crypt( "votre_mot_de_passe" ); ?>
Et vous obtiendrez une chaine de caractères un peu comme celle ci :
$1$b4oHsp3O$RTjpnM.uOhJKO3qGw8i6
Ce texte crypté est votre mot de passe à copier dans votre fichier ".htpasswd"

Vous pouvez crypter vos mots de passe via cette page en ligne

Remarque importante :
Assurez vous de savoir si votre serveur web gère les mot de passe cryptés, par exemple les pages perso de Free ne gèrent pas le décryptage, donc vous serez obligé de spécifier le mot de passe en dur.



Comment trouver le chemin absolu d'un répertoire distant ?

Pour trouver le chemin absolu de votre répertoire, il faut utiliser la fonction php "realpath".

<? php echo realpath ( "path.php" ); ?>

Créer votre fichier php avec votre ligne ci-dessus et nommé le "path.php".
Ensuite uploader le fichier sur votre serveur et visualiser le résultat via un navigateur : http://www.mon-site.com/path.php

Copier / coller le résultat du chemin et ajouter le lien vers le .htpasswd :

Exemple :
AuthUserFile /home/monsite/www/.htpasswd


Comment faire une redirection ?

Pour faire une redirection, il suffit d'intégrer le code ci-dessous :

RedirectPermanent / http://www.autresite.com
Cette instruction permet de rediriger la totalité du site vers "http://www.autresite.com",
Le " / " permet de définir dans quel répertoire la redirection doit être active, ici on a défini la racine du site.

Pour la redirection d'une page, voir ci- dessous :

RedirectPermanent /mapage.php http://www.monsite.com/index.php

Comment faire une redirection des pages d'erreur ?


Avec un .htaccess vous pouvez aussi rediriger les pages d'erreur, par exemple si vous voulez que les erreurs 404, ( page inexistante) soit redirigées vers l'accueil de votre site, il suffit d'ajouter dans votre fichier .htaccess la ligne :

ErrorDocument 404 http://www.monsite.com/index.php

Liens

Voici quelques liens qui pourront vous être utiles, pour compléter cet article :
Documentation Apache
Documentation officielle htaccess

Fichiers joints :

Télécharger les sources des exemples

 

- haut de page -



About

Créateur de solutions innovantes
Android | iOS | Web | NFC

Keep in touch