Personnaliser les pages d’erreurs avec une règle htacces

Personnaliser les pages d’erreurs avec une règle htacces

Quentin C. 22 June 2011

Besoin de personnaliser les pages d’erreurs 404 ?

Il existe pas mal de templates pré-existants pour avoir une mise en page bien plus belle que celle générée par Apache.

Tout d’abord, ajoutez ceci dans votre fichier .htacess à la racine.
ErrorDocument 301 /erreurs/301-moved_permanently.html
ErrorDocument 302 /erreurs/302-moved_temporarily.html
ErrorDocument 303 /erreurs/303-see_other.html
ErrorDocument 400 /erreurs/400-bad_request.html
ErrorDocument 401 /erreurs/401-authorization_required.html
ErrorDocument 402 /erreurs/402-payment_required.html
ErrorDocument 403 /erreurs/403-forbidden.html
ErrorDocument 404 /erreurs/404-not_found.html
ErrorDocument 405 /erreurs/405-method_not_allowed.html
ErrorDocument 406 /erreurs/406-not_acceptable.html
ErrorDocument 407 /erreurs/407-proxy_authentication_required.html
ErrorDocument 408 /erreurs/408-request_timed_out.html
ErrorDocument 409 /erreurs/409-conflicting_request.html
ErrorDocument 410 /erreurs/410-gone.html
ErrorDocument 411 /erreurs/411-content_length_required.html
ErrorDocument 412 /erreurs/412-precondition_failed.html
ErrorDocument 413 /erreurs/413-request_entity_too_long.html
ErrorDocument 414 /erreurs/414-request_uri_too_long.html
ErrorDocument 415 /erreurs/415-unsupported_media_type.html
ErrorDocument 500 /erreurs/500-internal_server_error.html
ErrorDocument 501 /erreurs/501-not_implemented.html
ErrorDocument 502 /erreurs/502-bad_gateway.html
ErrorDocument 503 /erreurs/503-service_unavailable.html
ErrorDocument 504 /erreurs/504-gateway_timeout.html
ErrorDocument 505 /erreurs/505-http_version_not_supported.html

Ces quelques lignes de code réfèrent une page html (template) où vous pourrez personnaliser vos affichages à votre guise.

Un petit rappel des erreurs les plus connues :
400 Requête incorrecte : La requête n'a pas pu être comprise par le serveur en raison d'une syntaxe erronée.

401 Non autorisé : la personne n'a pas passé avec succès l'identification.

403 Interdit : le serveur n'a pas le droit de répondre à votre requête.

404 Non trouvé : le serveur n'a pas trouvé le document souhaité.

500 Erreur interne : l'erreur peut par exemple être le résultat d'une mauvaise configuration du serveur.
Il suffit donc de créer un dossier “erreurs” et de mettre vos templates dedans.

Bonne personnalisation.

8 thoughts on “Personnaliser les pages d’erreurs avec une règle htacces

  1. Intéressant comme article.
    J’ai voulu pour ma part gérer un fichier htaccess en redirigeant vers une page maintenance mais sans succès.
    J’ai utilisé ce code :

    ErrorDocument 403 /page-maintenance.html
    deny from all

    allow from all

    Lorsque je vais sur l’url, j’ai l’erreur classique 403 forbidden mais en aucun cas ma page personalisée. Une idée ?
    Merci.

    Cdt.

  2. je suis dans ce cas mais ca ne marche
    j’ai rajouté cette ligne ErrorDocument 404 /indextesting.html (sachant que mon fichier est dans le dossier racine www)
    j’ai un site géré par drupal. et la config de drupal prends toujours le dessus sur ce que je peux écrire sur le htacces.

    une idée?
    merci d’avance

    1. Bonjour Najah,

      Oui l’htaccess de Drupal prend la main sur toutes les URLS !

      Cependant tu peux configurer ta page 404 dans Drupal directement !

      à plus.

      1. merci Xooot pour ta reponse

        oui alors justement comment reprendre la main sur drupal et forcer la customisation d’une page 500 (par exemple)?
        ce que je met dans le htaccess de la racine, est ignoré. y’aurait il un autre endroit a configuer / modifier pour prendre le dessus sur drupal?

  3. C’est la seule chose que je sache faire. Lorsqu’une plateforme prend le pas sur votre nouveau code de redirection 301, il faut impérativement mettre vos nouvelles lignes de code, tout en haut de votre .htacces. Et ça fonctionne.

    On peut donc dire que les lignes de code misent en haut, c’est à dire en premier du fichier .htacces sont prioritaires.

  4. Bonjour,
    J’essaie de rediriger deux dossiers (qui n’existent plus sur mon site) en 410, mais je n’y arrive pas, ça tombe toujours en 404.
    Voici mon code inséré dans le htaccess :

    Redirect gone “/maps”
    Redirect gone “/news”

    Mais à chaque fois que je regarde, cela me donne un 404 … 🙁
    Je ne l’écris pas bien ?

Leave a Reply

Your email address will not be published.