[logo Apache]

Il y a quelques temps, nous avions vu comment bannir une adresse IP d'un serveur.
Aujourd'hui, nous allons voir comment personnaliser ses pages d'erreurs.

De quoi s'agit-il ?

Vous avez sans doutes remarqué lors de vos surfs de tomber sur une page vous indiquant que le document ou la page demandée n'a pas été trouvée. C'est l'erreur la plus fréquente, qu'on appelle communément l'erreur 404.

Les codes d'erreurs les plus courant

Si on parle d'erreur 404, c'est parce que le nombre 404 correspond à une erreur bien particulière : une ressource non trouvée.
Voici une liste pas du tout exhaustive des erreurs les plus courantes :

  • 401 : Authorization Required (Il faut s'identifier et l'identification a echoué (mauvais mot de passe, par exemple))
  • 403 : Forbidden (Accès refusé)
  • 404 : Not Found (Ressource non trouvée)
  • 500 : Internal Server Error (Erreur interne du serveur : verifiez la structure de votre .htaccess, l'erreur se trouve souvent là)

Ces quatres erreurs sont les erreurs à mon avis les plus courantes. Pour avoir la liste complète des codes d'erreurs, consultez Wikipédia.

Structure du .htaccess

Dans votre .htaccess, vous avez la possibilité de rediriger les erreurs HTTP standard (qui sont un peu austère) vers des pages web personnalisée !
La structure est très simple :

ErrorDocument <code_erreur> <Texte, lien relatif ou absolu>

Exemple :

ErrorDocument 404 errors/404.html
ErrorDocument 403 http://www.monsite.ext/erreurs/erreur_403.php
ErrorDocument 500 "Erreur interne du serveur, veuillez réessayer plus tard ..."

Dans mon exemple, dès qu'une page ne sera pas trouvée sur le serveur, le navigateur Internet du visiteur sera automatiquement redirigé vers la page 404.html contenue dans le sous-repertoire errors/. Cette page contiendera bien sûr ce que vous voulez, il ne tient qu'à vous de faire la plus belle page d'erreur !

Pour l'erreur 403, cette fois la redirection amène le visiteur sur un site distant contenant la page d'erreur personnalisée.
Pour l'erreur 500, le texte Erreur interne du serveur, veuillez réessayer plus tard ... s'affichera dans le navigateur ...

Voilà, c'est tout pour ce soir. La prochaine fois, on verra comment protéger un dossier par login/password ;-)