Le code HTTP (aussi appelé code d’état) permet de déterminer le résultat d’une requête ou d’indiquer une erreur au client.
Le premier chiffre du code d’état est utilisé pour spécifier une des cinq catégories de réponse :
Catégories de réponse du code d’état | Définitions |
Information (1XX) | Cette catégorie indique que le serveur a reçu la demande et le traitement se poursuivra. |
Succès (2XX) | Cette catégorie indique que la requête du client a été reçue, comprise et acceptée avec succès. |
Redirection (3XX) | Cette catégorie indique qu’une autre action doit être faite pour compléter la requête. |
Erreur du client HTTP (4XX) | Cette catégorie indique que la requête contient une mauvaise syntaxe ou ne peut être accomplie. |
Erreur du serveur / du serveur d’application (5XX) | Cette catégorie indique une erreur du serveur ou du serveur d’application dans l’exécution de la requête. |
Dans cet article, nous nous concentrerons sur la signification de 4 codes d’erreurs HTTP : 404, 403, 501 et 500. Nous donnerons aussi quelques pistes de solutions pour résoudre le problème lorsqu’elles se produisent.
Prérequis
Saisissez dans votre navigateur web l’adresse suivante : https://my.planethoster.com.
Erreur HTTP 404
Les erreurs 404 sont généralement causées par un fichier manquant ou une page inexistante. Vérifiez donc si le fichier est bien présent sur l’hébergement. Vous pouvez vérifier par FTP ou encore depuis le Gestionnaire de fichiers du Panneau MG (ou dans le Gestionnaire de fichiers de cPanel, selon le cas).
De plus, n’oubliez pas que le nom d’un fichier est sensible à la casse. Ainsi, si un fichier contient une majuscule, assurez-vous qu’elle soit aussi présente dans la requête.
Il se peut aussi qu’une règle de réécriture cause problème au niveau du « .htaccess », ce qui rendra la ressource indisponible. Afin de le tester, renommez le fichier « .htaccess » temporairement.
Astuce WordPress: ajoutez le code suivant à votre « .htaccess ».
# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
Si vous avez des erreurs 404 sur toutes les pages d’un site, mais pas sur la page d’accueil, cela indique un problème lié à la réécriture des adresses URL. Lorsque cela se produit, le CMS s’attend à recevoir une adresse URL formée d’une certaine façon et il la reçoit sous une autre forme.
Erreur HTTP 403
Les erreurs 403 sont généralement causées par un problème de droit sur un fichier. Elles sont souvent causées par un droit 0777 sur les serveurs mutualisés et les serveur VPS utilisant SuPHP.
Les fichiers doivent utiliser le droit 0644 et les dossiers, le droit 0755. Les fichiers binaires ou bien les fichiers qui utilisent un gestionnaire (en anglais, handler) autre que PHP — Python, SH ou Perl par exemple — doivent utiliser des droits 0755.
Il se peut aussi que l’erreur 403 soit causée par une règle dans un fichier .htaccess. Afin de valider cela, vous pouvez renommer les fichiers .htaccess temporairement à partir du dossier qui contient la source en erreur 403 et descendre d’un dossier à la fois pour déterminer le .htaccess qui cause problème.
Veuillez noter que les règles .htaccess affectent tous les dossier enfants où se trouve le fichier. Il est donc important de vérifier tous les .htaccess parents et ce, jusqu’à la racine de l’hébergement /home/nom_usager_Cpanel.
Erreur HTTP 501
Les erreurs 501 surviennent lorsqu’une fonctionnalité est non supportée par le serveur ou encore lorsqu’une règle ModSecurity est déclenchée.
Afin de déterminer la raison exacte, vous pouvez tenter de consulter le journal des erreurs (en anglais, error log) Apache. Si vous utilisez le Panneau MG, l’article Journal d’accès décrit comment vous y prendre. Si vous utilisez cPanel, vous trouverez le journal des erreurs dans les Mesures :
Si vous n’avez aucune erreur, c’est probablement ModSecurity qui est déclenché par un de vos scripts. Pour déterminer si ModSecurity cause problème, vous pouvez le désactiver temporairement. Les utilisateurs du Panneau MG peuvent se référer à l’article Configuration du bastion d’application web (WAF) et historique du pare-feu, qui explique comment désactiver le bastion d’application web. Si vous utilisez cPanel, vous pouvez le faire via la Sécurité :
Toutefois, notez que ModSecurity est mis en place afin d’ajouter une couche de sécurité supplémentaire. Donc, si vous le désactivez, vous réduisez le niveau de protection.
Si l’erreur est bien renvoyée par ModSecurity, vous pouvez contacter le support pour déterminer quelle est la règle qui est déclenchée et la faire désactiver.
Voici comment désactiver une règle mod_security dans le .htaccess :
#Désactiver une règle seulement. SecRuleRemoveById 123456 #Désactiver ModSecurity complètement SecFilterEngine Off SecFilterScanPOST Off
Erreur HTTP 500
Nos serveurs sont configurés pour maximiser votre sécurité et celle de vos données. Ainsi, nous avons mis en place des serveurs avec SUPHP. Si vous obtenez une erreur 500, nous vous invitons à changer le CHMOD de vos fichiers, soit 755 pour les dossiers et 644 pour les fichiers PHP. Vous pouvez faire cela très facilement avec le logiciel FTP « FileZilla » (disponible gratuitement) ou via votre cPanel (avec le gestionnaire de fichiers).
Généralement les erreurs 500 sont des erreurs du serveur dues à la configuration de celui-ci et, dans 90 % des cas, l’erreur de configuration provient d’un fichier .htaccess.
Vous pouvez donc tester en renommant le fichier .htaccess à la racine et descendre dans les dossiers jusqu’au script.