Apprendre .htaccess : Gestion des Erreurs HTTP (4xx, 5xx)

Le fichier .htaccess permet d'appliquer un traitement spécifique aux erreurs HTTP (404, 500...).

Icône de calendrier
Avancé
7 chapitres

Pourquoi gérer les erreurs HTTP ?

Il n’est pas impossible pour le visiteur d’un site web de recevoir un code d’erreur HTTP lors de sa navigation :

  • Authentification requise pour accéder à une ressource (401)
  • Interdiction d’accéder à une ressource (403)
  • Incapacité à trouver la ressource demandée (404)
  • Erreur interne du serveur lors de la construction de la page (500)
  • Etc.

Qu’il s’agisse d’une erreur client (code 4xx) ou serveur (code 5xx), le serveur HTTP Apache fournit des messages d’erreur génériques par défaut.

Ces messages sont cependant imprécis et bruts d’aspect, ce qui n’est pas idéal pour nos visiteurs.

Il est alors d’usage sur un site web de créer des pages d’erreur personnalisées afin d’améliorer l’expérience utilisateur et de réorienter l’internaute tombant dessus.

On peut personnaliser les pages d’erreur avec la directive suivante :

.htaccess
copié !
ErrorDocument <code_erreur_http> <action>

Le code d'erreur http peut être un code 4xx ou 5xx.

Une action peut être traitée comme :

  • Une URL de redirection externe (si l’URL comporte le domaine)
  • Une URL de redirection locale (si l’URL commence par un /)
  • Une chaîne de caractères comprenant le message à afficher entre guillemets "".

Erreurs HTTP principales

Erreur 401

Les directives suivantes illustrent un traitement personnalisé pour les erreurs 401.

.htaccess
copié !
# Personnaliser la page d'erreur 401
ErrorDocument 401 https://mondomaine.com
ErrorDocument 401 /errors/unauthorized.html
ErrorDocument 401 "Erreur 403 : Non autorisé - authentification requise."

Erreur 403

Les directives suivantes illustrent un traitement personnalisé pour les erreurs 403.

.htaccess
copié !
# Personnaliser la page d'erreur 403
ErrorDocument 403 https://mondomaine.com
ErrorDocument 403 /errors/forbidden.html
ErrorDocument 403 "Erreur 403 : accès interdit."

Erreur 404

Les directives suivantes illustrent un traitement personnalisé pour les erreurs 404.

.htaccess
copié !
# Personnaliser la page d'erreur 404
ErrorDocument 404 https://mondomaine.com
ErrorDocument 404 /errors/notfound.html
ErrorDocument 404 "Erreur 404 : ressource non trouvable."

Erreur 500

Les directives suivantes illustrent un traitement personnalisé pour les erreurs 500.

.htaccess
copié !
# Personnaliser la page d'erreur 500
ErrorDocument 500 https://mondomaine.com
ErrorDocument 500 /errors/servererror.html
ErrorDocument 500 "Erreur 500 : erreur serveur."