1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Résoudre une erreur 500 "Internal Server error"
Ce guide vous concerne si vous obtenez une erreur 500 qui peut avoir diverses origines liées en général au développement de votre site, en particulier avec les rewrites de vos fichiers .htaccess.
Dans quel cas survient ces erreurs ?
Apache2, en place sur nos serveurs, ne supporte plus certains modules comme mod_auth_anon, mod_auth_dbm, mod_authz_dbm, mod_cern_meta, mod_imap, mod_imagemap, mod_mime_magic
De plus, Apache2 est strict sur les erreurs de syntaxe et lorsqu'il rencontre des erreurs de syntaxe dans un fichier .htaccess, cela peut entraîner des erreurs 500 Internal Server Error ou des erreurs de réécriture d'URL inattendues.
Voici quelques exemples de syntaxes erronées dans les fichiers .htaccess et leur correction :
Dans ce premier exemple, l'erreur de syntaxe est que la règle de réécriture ne spécifie pas le code de réponse de redirection HTTP à renvoyer. La correction ajoute la directive R=301 pour spécifier que la redirection doit renvoyer un code 301 (permanent):
RewriteRule ^articles/([0-9]+)/$ /article.php?id=$1 [L]
Correction:
RewriteRule ^articles/([0-9]+)/$ /article.php?id=$1 [L,R=301]
Dans ce second exemple, l'erreur de syntaxe est que la directive Options ne spécifie pas correctement les options à activer ou désactiver. La correction ajoute le signe "+" pour spécifier que FollowSymLinks doit être activé plutôt que désactivé:
Options -Indexes FollowSymLinks
Correction:
Options -Indexes +FollowSymLinks
Comment résoudre ces erreurs ?
- Si la première page ou une autre page affiche une erreur 500, renommez le fichier .htaccess ou commentez toutes les lignes avec # et décommentez ligne par ligne jusqu'à trouver le passage qui pose problème
- Si l'erreur survient après une modification effectuée sur l'une de vos pages, le plus simple est de restaurer la version précédente du fichier