Le fichier .htaccess vous permet en toute simplicité de
donner des directives spéciales pour certain répertoire, de procéder à des redirections, de limiter les accès à certains répertoires, de personnaliser vos pages
d'erreur etc. etc. etc..
Vous pouvez utiliser ce fichier sur nos plans d'hébergement
web, hebergement-web-quebec.com permet l'utilisation de ces
fichiers. bien que vous n'ayez pas besoin de toute
l'information que vous trouverez ici, nous avons essayer de
vous offrir le plus d'informations possible sur le sujet, pour
en savoir plus vous pouvez évidemment faire vos propres
recherches.
Dans ce tutorial nous allons voir quelques utilisations pratiques du fichier .htaccess
ainsi que de l'information sur certaines fonctions utilisable
dans le fichier .htaccess.
NOTE: Voir aussi les exemples plus bas;
1 - Comment mettre une restriction d'accès pour un
répertoire avec un mot de passe
Il est a noter que votre hébergement web inclus une
fonction via votre panneau de contrôle pour pouvoir protéger
un répertoire, donc vous ne devriez pas avoir besoin de cela
autre que pour protéger un répertoire dans votre /cgi-bin, Cliquez
ici pour savoir comment faire pour protéger un
répertoire avec un mot de passe via un fichier .htaccess
2 - Comment faire pour afficher les fichiers dans un
répertoire pour qu'il soit visible via le web ?
Tout d'abord , pas besoin de vous dire de ne pas faire ceci
dans le répertoire racine de votre site, sinon tous le monde
pourra télécharger la totalité des fichiers, pages etc sur
votre site.. Pour afficher un répertoire en particulier de
votre site web, vous n'avez besoin que d'une petite ligne dans
un fichier .htaccess insérer simplement ceci ;
Options +Indexes +Multiviews
puis envoyez le fichier .htaccess que vous avez créé dans
le répertoire ou vous désirez voir les noms de fichiers, un
peu comme un ftp mais via www.
3 - La personnalisation des pages d'erreurs
Hebergement-web-quebec.com offre déja les pages d'erreurs
modifiable via ftp donc ceci ne devrait pas être utilisé,
mais en cas de besoin c'est aussi possible via un .htaccess. Au grès de vos différentes visites de page Web, vous avez pu constater comme tout bon internaute qu'il existait des pages d'erreur. Notamment la page erreur 404, une des plus célèbres Cette page survient lorsque le navigateur ne trouve pas la page demandée.
Cette page, comme les autres pages d'erreur est très peu esthétique et le fichier .htaccess vous permet de les personnaliser.
Pour personnaliser la page d'erreur 404, insérez le code suivant dans le fichier .htaccess.
ErrorDocument 404 /page_erreur_404.html
NOTE: Voir plus bas pour une liste des codes d'erreur
général.
4 - Redirection des pages web ou de répertoire
L'utilité de la redirection n'est plus à démontrer, surtout quand, par exemple, vous souhaitez procéder à de la maintenance sans pour autant léser vos visiteurs. Cette procédure peut également se révéler
utile pour certains liens non mis à jour qui pointe vers votre ancienne adresse.
Note : Lorsque RedirectParmanent est utilisé, la nouvelle adresse doit être
un URL complet.
Redirection d'une page html : insérer le code suivant dans
le fichier .htaccess
RedirectPermanent ancien.html http://www.xxx.com/nouveau.html
L'avantage de cette procédure c'est que cette redirection envoie au navigateur l'entête HTTP 301, qui est
interprété pas les robots des moteurs de recherche. Ceux-ci alors mettront à jour automatiquement l'ancienne adresse.
Redirection d'un dossier complet : insérer le code suivant dans .htaccess
RedirectPermanent /ancien http://www.xxx.com/nouveau/
Redirection d'un domaine : insérer le code suivant dans .htaccess
RedirectPermanent / http://www.votredomaine.com/
Voilà c'est à peu près tout pour ce tutorial pour l'instant
---------------------------------------------------
Exemple d'utilisations ;
Exemple 1 :
Interdisons à un domaine donné d'accéder à un répertoire
Le .htaccess
contient
Order
Deny,Allow
Deny from .domaine-banni.xxx
La directive Order s'assure que le "deny"
supplante "allow" et que ce n'est pas le
contraire. Il est toujours bon de préciser les choses. En général
"allow from all" est la configuration par défaut
des serveurs Web. Ces directives peuvent être restreintes
à certaines méthodes HTTP comme GET ou POST (mais il y a
aussi PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, PROPFIND,
PROPPATCH, MKCOL, COPY, MOVE, LOCK, et UNLOCK) en utilisant
une section débutant par exemple par <Limit
GET POST> ...directives... </Limit>.
On n'est pas du tout obligé de les
mettre dans ce genre de section: si on ne précise pas à
quelle méthodes les directives de contrôle d'accès sont
applicables, elles sont bien sûr applicables à toutes les
méthodes.
Exemple 2 :
Interdisons un ensemble de fichiers à un domaine donné
Le .htaccess
contient
<Files
*.gif>
Order Deny, Allow
Deny from .domaine-banni.xxx
</Files>
Dans ce cas, seuls les fichiers .gif sont
refusés d'accès aux gens du domaine
domaine-banni.net et seulement à ces personnes. En général
on autorise plutôt certains domaines (car si la
personne indésirable se connecte à partir d'un autre
domaine, elle passe !!). C'est ce qu'on fait par exemple
pour une zone intranet. Au passage, le style des directives
de type "Container" (<File> ou <Limit>)
ressemble à du HTML ce qui est très pratique! Maintenant
il est préférable d'utiliser <FilesMatch> si on veut
utiliser des expressions régulières (regexps).
Exemple 3 :
Ajouter un type MIME spécial au répertoire
Le .htaccess
contient
AddType
image/x-photoshop PSD
Avec cette instruction, le serveur Web
annonce tous les fichiers *.psd en tant que "Content-Type:
image/x-photoshop" lorsqu'il envoie sa réponse au
navigateur. Normalement un navigateur sait que image/x-photoshop
signifie "lancer Photoshop" et lui passe le
fichier pour qu'il soit ouvert. En général on utilise ce
genre d'instruction pour un tout nouveau plugin qui n'est
pas dans le fichier de configuration principal. Si vous avez
besoin d'une telle entrée de façon permanente, ça peut être
aussi utile aux autres, et donc il est intéressant d'en
demander l'ajout via le Helpdesk de hebergement-web-quebec.com.
Par ailleurs l'instruction AddType
supplante la configuration principale ce qui fait qu'il est
par exemple possible de changer ce que signifie JPG dans
votre répertoire. Enfin, ce n'est pas conseillé!
Exemple 4 :
Afficher les fichiers d'un répertoire pour qu'il soit visible
via WWW.
Le .htaccess
contient
Options +Indexes +Multiviews
Avec cette instruction, le serveur Web
affichera les fichiers directement sur la page web d'un
visiteur plutôt que d'afficher les pages web qu'il contient
-------------------------------------------------------
Diverses
descriptions & information sur les fonctions d'un .htaccess
-
- Code d'erreur utilisable.
- ErrorDocument code_erreur fichier
- Voici une liste des codes erreur HTTP :
100 : OK pour continuer
101 : le serveur a changé de protocoles
200 : requête effectuée avec succès
201 : document créé (raison : nouvelle URI)
202 : requête achevée de manière asynchrone (TBS)
203 : requête achevée de manière incomplète
204 : aucune information à renvoyer
205 : requête terminée mais formulaire vide
206 : requête GET incomplète
300 : le serveur ne peut pas déterminer le code de retour
301 : document déplacé de façon permanente
302 : document déplacé de façon temporaire
303 : redirection avec nouvelle méthode d'accès
304 : le champ 'if-modified-since' n'était pas modifié
305 : redirection vers un proxy spécifié par l'entête
307 : HTTP/1.1
400 : erreur de syntaxe dans l'adresse du document
401 : pas d'autorisation d'accès au document
402 : accès au document soumis au paiement
403 : pas d'autorisation d'accès au serveur
404 : la page demandée n'existe pas
405 : méthode de requête du formulaire non autorisée
406 : requête non acceptée par le serveur
407 : autorisation du proxy nécessaire
408 : temps d'accès à la page demandée expiré
409 : l'utilisateur doit soumettre à nouveau avec plus d'infos
410 : cette ressource n'est plus disponible
411 : le server a refusé la requête car elle n'a pas de longueur
412 : la précondition donnée dans la requête a échoué
413 : l'entité de la requête était trop grande
414 : l'URI de la requête était trop longue
415 : type de média non géré
500 : erreur interne du serveur
501 : requête faite au serveur non supprimée
502 : mauvaise passerelle d'accès
503 : service non disponible
504 : temps d'accès à la passerelle expiré
505 : version HTTP non gérée
Autre information Utile ;
--- Glossaire ---
Fichier .htpasswd, Dans ce fichier chaque ligne représente un utilisateur autorisé. Chaque ligne est de la forme suivant : nom:mot_de_passe_crypté
- Le nom du fichier est obligatoirement .htaccess
- Les lignes commençant par # que vous mettez dans le fichier
.htaccess sont systématiquement ignorées
- La ligne débutant par AuthUserFile indique au serveur Web où trouver le fichier qui contient les noms d'utilisateurs et les mots de passe associés. Nous verrons un peu plus loin comment créer ce fichier.
- La ligne débutant par AuthGroupFile permet de structurer les utilisateurs en groupes, ce qui est très rarement utilisé (car peu utile). La laisser donc ainsi.
- La ligne débutant par AuthName indique le nom du royaume protégé (c'est le terme consacré :-). On peut y mettre ce qu'on veut, du moment que c'est clair.
- AuthType Basic est le type d'authentification utilisé. C'est le seul actuellement vraiment utilisé.
- La section Limit permet de donner les directives, ici require valid-user (on pourrait spécifier un ou plusieurs utilisateurs précis avec par exemple require user nom1, nom2). GET et POST sont deux méthodes de la norme HTTP, et là on indique qu'on effectue la restriction sur ces deux méthodes.
--- Glossaire des fonctions ---
AuthGroupFile /dev/null
Permet de donner l'accès à des utilisateurs faisant partie d'un même groupe. Nous laisserons /dev/nul qui veut dire que le fichier n'existe pas.
AuthName "Acces Restreint"
Chaîne de caractère qui apparaît dans la boîte de dialogue.
AuthType Basic
Précise que sera utilisé le fichier donnée dans authUserFile
<limit GET POST> [...] </limit>
Détermine la méthode qui sera concernée par la restriction. GET concerne les variables passées via la barre d'adresse ou via un lien. POST, celles passées via un formulaire (les variables sont invisibles pour l'utilisateur).
require valid-user
Précise que l'identification doit avoir été réussi pour que la restriction cesse.
DefaultType (type MIME)
Exemple: 'DefaultType text/html'
Pour les fichiers qui n'ont pas d'extension ou une extension inconnue. Cela
permet au serveur de donner malgré tout un type MIME au navigateur. Utile si
par exemple vous ne voulez pas que les mauvaises extensions ou les fichiers
sans extension apparaissent comme du texte...
ForceType (mime/type)
Exemple: 'ForceType image/gif'
Impose le type MIME envoyé au navigateur, sans se préoccuper de l'extension.
Très peu utilisé... Voir aussi DefaultType et AddType.
Satisfy (any, all)
Exemple: 'Satisfy All'
S'il y a à la fois les directives "allow" et "require"
dans un même fichier, le serveur a besoin de savoir si le client est supposé
remplir toutes les conditions ou bien une seule. Voir plus haut, l'exemple de
la zone intranet des élèves.
<Files> </Files>
Exemple: <Files *.gif> ...directives...
</Files>
Utilisé pour appliquer certaines directives à un groupe donné de fichiers.
Peut être utilisé en conjonction avec les directives "require" et
"Auth*" pour ne protéger que certains fichiers...
Il existe aussi <FilesMatch> qui accepte les expressions régulières
-------------------------
Pour crypter vos mots de passe pour l'utilisation d'un .htaccess utilisez l'utilitaire
d'encryptage cliquez
ici
|