Quelle est la cause d'une erreur 500 ?
Comme son nom l'indique, on attribue une erreur 500 à un problème de serveur. Pour en savoir plus, il faut se référer aux précisions apportées par le service d'information Microsoft. Les décimales après la virgule indiquent alors la nature du problème :
- 500.0 : module ou ISAPI manquants ;
- 500.11 : une application est actuellement en cours d’exécution sur le serveur ;
- 500.12 : une application est redémarrée sur le serveur ;
- 500.13 : le serveur Web est actuellement pleinement utilisé ;
- 500.15 : une demande directe pour le fichier (optionnel) Global.asax n’est pas autorisée ;
- 500.19 : les données de configuration sont invalides ;
- 500.22 : une configuration du module HTTP (dans une application Web ASP.NET) ne s’applique pas au mode Pipeline ;
- 500.23 : une configuration de gestionnaire HTTP (dans une application Web ASP.NET) n’est pas applicable en mode Pipeline managé ;
- 500.24 : une configuration de changement d’identité (pour ASP.NET) ne peut pas être utilisée en mode Pipeline géré ;
- 500.50 : une erreur s’est produite lors de la réécriture pendant le traitement de la notification RQ_BEGIN_REQUEST ;
- 500.51 : une erreur s’est produite lors de la réécriture pendant le traitement de la notification RQ_PRE_BEGIN_REQUEST ;
- 500.52 : une erreur s’est produite lors de la réécriture pendant le traitement de la notification RQ_SEND_RESPONSE ;
- 500.53 : une erreur s’est produite lors de la réécriture pendant le traitement de la notification RQ_RELEASE_REQUEST_STATE ;
- 500.100 : une erreur s’est produite dans le moteur ASP.
De la sorte, vous avez une idée un peu plus précise de ce qui dysfonctionne.
Qu'est-ce qui est à l'origine de l'erreur 500 ?
L'erreur 500 se produit classiquement à cause d'un problème de configuration du serveur Web. En voici les sources les plus connues :
- erreur de permission : les autorisations des fichiers et des dossiers principaux ne sont pas définies correctement ;
- PHP-Timeout : le script tente d’accéder à une ressource externe et éprouve un délai d’attente ;
- code incorrect dans .htaccess : la structure dans un fichier .htaccess peut être incorrecte ;
- erreur dans la syntaxe ou du code dans les scripts CGI/Perl : dans certains cas, les scripts sont incorrects. Les chemins peuvent notamment être mal situés ;
- PHP-Memory-Limit : un processus dépasse la mémoire et ne peut pas être exécuté correctement.