Home

Linux

Serveur

Partenaires

Info
Erreurs personnalisées Apache
Introduction
Lorsque Apache ne peut satisfaire une requête, il répond généralement avec un message d'erreur extremement sexy du style:
"Not Found - The requested URL /index.shtm was not found on this server."
avec un fond blanc élégant et artistique. Il faut reconnaitre que quand on passe des heures à appareiller son site et à traquer les bugs pour que les pages soient jolies, on pourrait avoir envie de pouvoir travailler un peu tout ca. Or c'est parfaitement possible, et extremement simple. Cela passe par les .htaccess.
Configurer Apache
Nous allons rediriger le navigateur du visiteur qui rencontre une erreur sur une page de notre choix. Première étape, il faut commencer par configurer Apache pour qu'il gère ce nouvel aspect des htaccess. On se rend donc dans le fichier de configuration (/etc/apache/httpd.conf chez moi) et nous cherchons les directives concernant le repertoire racine du site, qui se présente habituellement comme ceci:

<Directory /var/www/mon-site-web/>
AllowOverride AuthConfig
</Directory>

Ici, nous gerons déjà les directives d'authentification pour les .htaccess: nous allons simplement en ajouter une: FileInfo. C'est cette directive qui va permettre à Apache de rediriger en cas d'erreur. Ce qui nous donne:

<Directory /var/www/mon-site-web/>
AllowOverride AuthConfig FileInfo
</Directory>

Nous relançons maintenant Apache (apache restart) si il est en standalone.
On crée un fichier .htaccess dans lequel on indique la ligne suivante:
ErrorDocument 404 /erreurs/404.html
Désormais, au lieu de renvoyer une erreur 404 fleurant bon l'architecture soviétique des années cinquante, Apache proposera le fichier http//mon-site-web/erreurs/404.html dans lequel vous pourrez donner libre cours à votre créativité. En général on mets une explication de l'erreur, une "excusalakon" et un lien pour revenir à la page principale. Rien ne vous empêche de vous distinguer en faisant autre chose ... Naturellement, aucune raison de vous limiter à l'erreur 404, voici d'autres codes utilisables:
  • Successful Client Requests

    • 200 OK
    • 201 Created
    • 202 Accepted
    • 203 Non-Authorative Information
    • 204 No Content
    • 205 Reset Content
    • 206 Partial Content Client Request Redirected
    • 300 Multiple Choices
    • 301 Moved Permanently
    • 302 Moved Temporarily
    • 303 See Other
    • 304 Not Modified
    • 305 Use Proxy

  • Client Request Errors

    • 400 Bad Request
    • 401 Authorization Required
    • 402 Payment Required (not used yet)
    • 403 Forbidden
    • 404 Not Found
    • 405 Method Not Allowed
    • 406 Not Acceptable (encoding)
    • 407 Proxy Authentication Required
    • 408 Request Timed Out
    • 409 Conflicting Request
    • 410 Gone
    • 411 Content Length Required
    • 412 Precondition Failed
    • 413 Request Entity Too Long
    • 414 Request URI Too Long
    • 415 Unsupported Media Type

  • Server Errors

    • 500 Internal Server Error
    • 501 Not Implemented
    • 502 Bad Gateway
    • 503 Service Unavailable
    • 504 Gateway Timeout
    • 505 HTTP Version Not Supported

Accueil