Recherche


imprimer pdf
Les opérations réalisables avec des fichiers .htaccess

Introduction
Avant de procéder, il est nécessaire de préciser quelques petites choses par rapport aux fichiers .htaccess. Tout d'abord, il faut savoir qu'il s'agit de fichiers particuliers pour le serveur web, et que ces fichiers n'apparaissent pas dans l'arborescence du répertoire concerné si un internaute fait un accès à un répertoire listable (qui ne contient pas de page index, et dont le listage n'est pas interdit). Ensuite, il faut bien prendre en compte que les paramétrages indiqués par un fichier .htaccess s'appliquent au répertoire où le fichier est installé, ainsi qu'à tout ses sous-répertoires.

Que puis-je faire avec un fichier .htaccess ?
Les deux éléments les plus intéressants concernent la protection des accès à votre site web. Ces deux éléments possèdent des guides séparés :
- protection des accès à un répertoire via une authentification : Comment protéger l'accès à un répertoire par une authentification ?
- empêcher certaines adresses IP d'accéder à votre site : Comment bloquer certaines IP au niveau de mon site ?

Vous pouvez également effectuer d'autres opérations que nous allons détailler ci-dessous.

  • Empêcher le listage du contenu d'un répertoire
Pour empécher les internautes de lister l'ensemble des fichiers contenus dans un répertoire en l'absence d'index (.cgi, .html, .php etc ....), créez un fichier .htaccess contenant la ligne ci-dessous :
Options -Indexes


  • Rediriger les messages d'erreur
Si vous voulez utiliser des messages d'erreur personnalisés ou rediriger les erreurs sur une page web, créez un fichier .htaccess contenant des lignes de cette forme :
ErrorDocument numéro_d_erreur message_ou_destination


Remplacez "numéro_d_erreur" par le numéro correspondant. Les 3 erreurs les plus courantes sont :
404 : page inexistante,
403 : accès interdit,
500 : erreur interne du serveur.

Remplacez "message_ou_destination" par l'action à effectuer. Pour afficher un simple message, tapez le message correspondant entre guillements. Pour rediriger sur une page, mettez le chemin d'accès à cette page. Voici deux exemples pour vous éclairer :

- vous souhaitez indiquer "Désolé, vous n'avez pas le droit d'accéder à ce fichier" lors d'une erreur 403. Vous mettez la ligne ci-dessous dans votre .htaccess :
ErrorDocument 403 "Désolé, vous n'avez pas le droit d'accéder à ce fichier"
,

- vous souhaitez renvoyer les erreurs 404 sur votre page personnalisée 404.html (pour votre domaine : domaine.com) :
.

Si cela ne fonctionne pas, vérifiez que dans les propriétes d'Internet Explorer vous avez, dans l'onglet Avancé, décoché "Afficher des messages d'erreur HTTP simplifiés".

  • Spécifier un fichier d'index différent
Par défaut, le fichier index d'un répertoire est index.html, index.htm ou index.php. Si vous voulez que ce soit un autre fichier, vous pouvez mettre une ligne de ce type dans votre .htaccess :
DirectoryIndex nom_du_fichier


Par exemple, si vous voulez utiliser la page accueil.html comme page d'index, utilisez la ligne suivante :
DirectoryIndex accueil.html


  • Faire des redirections
- Redirect permanent : Ceci envoie un code HTTP 301 redirection permanente qui informe les navigateurs, et surtout les moteurs de recherche, qu'il faut mettre à jour leurs liens vers la nouvelle adresse.

Attention: Ne fonctionne pas pour faire pointer votre site dans un sous dossier. Pour cela utiliser DirectoryIndex?

Pour rediriger le site entier vers une nouvelle adresse :
Redirect permanent / http://nouveau-site.tld/



Pour changer un repertoire/fichier :
Redirect permanent /ancien_repertoire http://nouveau-site.tld/nouveau_repertoire
Redirect permanent /ancien_fichier.php http://site.tld/nouveau_fichier.php


- Redirect gone : si un fichier n'existe plus il est bon de remplacer le message 404 document non trouvé par un message plus explicite 410 document n'existe plus.:
Redirect gone /supprime.html


- Redirect seeother : si vous changer l'extension d'un fichier, seeother permet de modifier le type du fichier en envoyant un code HTTP 303:
Redirect seeother /exemple.doc http://site.tld/exemple.pdf


- Redirect Temp : une redirection temporaire, de type HTTP 302, peut-être utilisée lorsque vous déplacez temporairement des fichiers sur un autre site :


  • Faire de la réécriture d'URL
Vous pouvez, pour des raisons diverses, souhaiter réécrire les URLs de votre site. Pour cela, vous pouvez utiliser un fichier .htaccess de la forme suivante :
RewriteEngine on
RewriteRule règle_de_réécriture


Il suffit de remplacer "règle_de_réécriture" par la règle dont vous avez besoin. Vous pouvez bien sûr écrire plusieurs règles différentes dans un même fichier. Malheureusement, les possibilités sont trop nombreuses et les besoins trop diversifiés pour en faire le tour dans ce guide. Référez-vous à la documentation officielle pour plus de détails : http://httpd.apache.org/docs/misc/rewriteguide.html