Les codes d'erreur qui commencent par le nombre "5" indiquent que le serveur a rencontré une erreur ou est incapable d'exécuter la demande.
L'erreur peut être liée à divers facteurs. Pour savoir ce qui cause cette erreur et ainsi la corriger, je vous propose une liste de vérifications.
Par quoi commencer?
Voici une liste de vérifications à effectuer pour trouver la source de l'erreur 500 :
- Vous avez installé un plugin, un template, un composant récemment, fait une modification ? Commencez par l'annuler, dépubliez la fonctionnalité installée.
- Contactez votre hébergeur pour savoir s'il a récemment apporté des modifications comme par exemple, modifier la version PHP, migrer les serveurs Web, mis à jour Joomla ...
- Quelle est la version PHP en cours ? Venez-vous de la modifier? Si oui, repassez à une version PHP inférieure.
- Avez-vous fait une modification sur le fichier .htaccess? Une petite faute de frappe suffit. Le fichier htaccess est très important, il contrôle le trafic entrant du site web. Ce fichier est installé à la racine de Joomla. Vous y accéder par FTP.
Activation du mode debug de Joomla
Pourquoi utiliser le mode debug : pour afficher les messages d'erreur générés par le site joomla. En cas de problème il est interessant de voir ces messages.
Pour activer le mode debug - 2 méthodes
1- Dans l'administration de Joomla : Système > Configuration puis Onglet Système
Paramètres de débogage
Puis éditer le fichier "configuration.php", qui est situé à la racine de votre site, avec un éditeur de texte (notepad++ par exemple).
Modifiez la ligne $error_reporting pour quelle soit comme ceci :
var $debug = '1';
public $error_reporting = 'maximum';
Quelles peuvent être les causes de cette erreur 500?
Le réécriture des Url
Pour améliorer le référencement de votre site web, vous avez peut être utilisé l'option SEF (Seo Friendly) pour rendre les URL plus « lisibles ». Le paramètre SEF peut être à l'origine du problème.
Désactiver l'option SEF dans l’administration Joomla.
Rendez-vous dans l’administration Joomla puis dans : Système > Configuration puis Onglet Site et dans les paramètres SEO
Réécriture d'URL en clair (SEF)
Avez-vous effectué ce changement récemment ?
Autorisations CMOD incorrectes
Dans la plupart des cas, la raison de l'erreur 500 est liée à des autorisations de fichiers ou de répertoires incorrectes.
Les autorisations CMOD dans l'environnement Linux sont :
- 644 pour les fichiers
- 755 pour les répertoires
La documentation Joomla
- 777 signifie que TOUT LE MONDE peut lire, écrire et exécuter N'IMPORTE QUEL fichier ou-rwxrwxrwx. C'est quelque chose que vous ne voulez JAMAIS être autorisé sur votre serveur/site Web à moins que vous ne soyez absolument sûr de savoir ce que vous faites.
- 755 est rwx (propriétaire), rx (groupe) et rx (autres) ou en d'autres termes tout le monde peut lire et exécuter (exécuter) mais seul le propriétaire (vous) peut apporter des modifications au fichier. Cela ressemblerait à ceci quand tout serait assemblé :-rwxr-xr-x
- 644 est rw-, r--, r-- ou TOUT LE MONDE peut lire le fichier mais seul le propriétaire peut écrire dans le fichier ou-rw-r--r--
- Les autorisations peuvent également être appliquées aux répertoires, c'est pourquoi vous pouvez voir ceci drwxrwxrwx, le "d" est pour le répertoire. Bien sûr, il s'agit d'une autorisation 777 et non recommandée !
Assurez-vous que sur votre serveur vos autorisations sont correctes. Vous pouvez vérifier les autorisations dans Système > Informations système > Autorisations de dossier
Problèmes de serveur temporaires
Parfois, l'erreur 500 peut ne pas être strictement liée à votre page ou à vos extensions, souvent le problème se produit en raison de problèmes liés au serveur et l'aide de votre prestatire d'hébergement est nécessaire. C'est le premier endroit où vous recherchez de l'aide.
Délais de connexion
Si votre script se connecte à des ressources externes et que ces ressources expirent, une erreur HTTP 500 peut se produire. Des règles de délai d'expiration ou de limites de téléchargement plus appropriées devraient aider.
Augmentez vos paramètres php.ini :
max_execution_time = 60 upload_max_filesize = 32M
Le fichier htaccess ne fonctionne pas comme prévu
Est-ce que vous avez installé votre Joomla dans un sous-répertoire ?
Assurez-vous que votre ligne RewriteBase a été configurée correctement. Si votre site Joomla a été installé dans un sous-répertoire, vous devrez modifier le fichier htaccess. Par exemple, vous avez installé votre site Joomla dans un sous-répertoire appelé "MonrepertoireJoomla".
RewriteBase /MonrepertoireJoomla
Si cette modification n'est pas effectué, les règles mod_rewrite ne correspondront pas aux URL traitées par le module Apache mod_rewrite.
Comment faire ? Si votre Joomla est installé dans un sous-repertoire, dans votre fichier htaccess décommentez la ligne
# RewriteBase /
en supprimant le # et remplacez le "/" par le bon chemin, par exemple
RewriteBase /MonrepertoireJoomla