Résoudre l’erreur 500, erreur serveur interne (internal server error)

Dans cet article

Parfois, quand vous installez WP Rocket, vous obtenez un message d’erreur 500 Internal Server Error à la place de votre site. Et s'il y a bien une chose qu'on déteste, c'est ça !

Il y a plusieurs raisons possibles à ce problème, certaines peuvent être liées à WP Rocket, d'autres non...

Déboguer

Sauvegarder et Supprimer .htaccess

La première chose que vous devez faire, c’est vous connecter via votre client FTP et trouver le fichier .htaccess (celui-ci peut être trouvé à la racine de votre serveur). Créez-en une sauvegarde et renommez le fichier ou supprimez le du serveur.

Dans le fichier original, supprimez toutes les règles de WP Rocket, en ne laissant que les règles par défaut de WordPress.

Si votre site revient en ligne, alors vous savez que le problème vient du fichier .htaccess. Si vous remettez le fichier .htaccess, le problème sera de retour, mais nous allons maintenant le résoudre. 

Affiner avec un plugin d'assistance

WP Rocket utilise 7 filtres PHP pour ajouter 7 blocs de règles à votre fichier .htaccess (voir la référence à la fin de cet article).

Pour pouvoir déboguer ces blocs un par un, installez ce petit plugin d’assistance :

📥   Télécharger (.zip):  WP Rocket | Remove All .htaccess Rules
Développeurs: vous trouverez le code de ce plugin sur GitHub.

Lorsque vous activez ce plugin et rechargé votre page dans le navigateur, l'erreur 500 devrait disparaître, mais vous avez aussi supprimé tous les blocs de règles de WP Rocket de votre fichier .htaccess.

Cependant, vous ne devez supprimer que les blocs nécessaires pour que l'erreur disparaisse, pas les autres.

Pour ce faire:

1
Supprimez une par une, les lignes débutant par  add_filter() du plugin.
2

Après chaque suppression, enregistrez le fichier, désactivez et réactivez WP Rocket et vérifiez votre site.

3

Lorsque l'erreur 500 revient, vous savez que la ligne que vous venez de supprimer est celle qui fait disparaître l'erreur.

4
Rajoutez cette dernière ligne supprimée et supprimez toutes les autres lignes commençant par  add_filter.

Voilà, l'erreur 500 devrait être corrigée!

Note: Une autre méthode pour déboguer serait d'ouvrir votre fichier .htaccess et de supprimer chaque blocs de règles un par un jusqu'à ce que l'erreur disparaisse. Mais le mieux reste d’utiliser le plugin d’aide ci-dessus.

Réferences : règles .htaccess ajoutée par WP Rocket

Vous pouvez trouver toutes les règles .htaccess ajoutées par WP Rocket dans cet article :

Les règles de WP Rocket dans le fichier .htaccess

Chaque module peut être retiré à l'aide d'un filtre, comme suit :

  • Charset - add_filter( 'rocket_htaccess_charset', '__return_false' );
  • ETag - add_filter( 'rocket_htaccess_etag', '__return_false' );
  • WebFonts - add_filter( 'rocket_htaccess_web_fonts_access', '__return_false' );
  • FilesMatch - add_filter( 'rocket_htaccess_files_match', '__return_false' );
  • ModExpires - add_filter( 'rocket_htaccess_mod_expires', '__return_false' );
  • ModDeflate - add_filter( 'rocket_htaccess_mod_deflate', '__return_false' );
  • ModRewrite - add_filter( 'rocket_htaccess_mod_rewrite', '__return_false' );

Une action pour régénérer le fichier .htaccess doit également être effectuée après la mise en œuvre des éléments ci-dessus pour que les changements prennent effet.

Augmenter la limite de mémoire

Si vous avez une erreur de 500 et que la suppression des règles de htaccess n'aide pas, vous devriez essayer d' augmenter la limite de mémoire de votre serveur.

Erreur "Options not allowed here"

If you are getting an  Options not allowed here error when WP Rocket is enabled, it can happen if the server disallows options overriding for any reason. We need to override some directives using htaccess rules. Please check the following doc: Apache Directives.

Si vous obtenez une erreur Options not allowed here lorsque WP Rocket est activé, cela peut arriver si le serveur n'autorise pas la surcharge des options pour une raison quelconque. Nous avons besoin de remplacer certaines directives en utilisant les règles htaccess. Veuillez consulter le document suivant : Directives Apache.

Cela a-t-il répondu à votre question ? Merci pour votre retour :) Une erreur est survenue lors de l’envoi de votre retour. Veuillez réessayer plus tard.