Régler l’erreur HTTP quand on télécharge des images sur WordPress

Suite à un changement d’hébergeur pour migrer une installation multisites, je me suis retrouvé avec un comportement de WordPress assez pénible au niveau du téléchargement des images.

En effet, à chaque fois que je voulais ajouter une image dans un article ou sur une page, une erreur HTTP (HTTP error) s’affichait, laissant à penser que l’image n’était pas ajoutée au niveau de la bibliothèque des médias.

Il n’en était rien, car l’image en question était bien envoyée sur le serveur, mais sa vignette (thumbnail) n’était pas générée dans la bibliothèque des médias ni d’ailleurs toutes les tailles de l’image qui habituellement sont automatiquement créées par WordPress.

L’insertion de l’image était néanmoins possible, mais il me fallait quand même modifier le code HTML de son insertion pour supprimer les attributs de taille height et width  de la balise <IMG> qui avaient pour valeurs 0, rendant l’image non visible à l’affichage.

Le problème était le même en passant par l’ajout d’image via la fonctionnalité Ajouter de la bibliothèque des médias.

Après quelques recherches sur Internet et la lecture de forums de discussions dédiés à WordPress, les solutions préconisées ne m’ont pas apporté de solution pour résoudre ce problème.

http-error-wordpress

Dans ce cas de figure, qui semble assez fréquent avec WordPress, il est conseillé de :

  • Réduire la taille des images avant de les insérer.
  • Modifier le format de l’image de JPG en PNG ou inversement.
  • Désactiver tous les plug-ins, notamment ceux qui optimisent les images à la volée.
  • Changer de thème et revenir au thème par défaut.
  • Accroitre la mémoire allouée à PHP en ajoutant le réglage define(‘WP_MEMORY_LIMIT’, ’64M’) dans le fichier wp-config.php.
  • S’assurer qu’on dispose d’une version à jour de PHP.
  • Vérifier sur le FTP que les permissions d’accès du dossier uploads sont bien réglées sur 755.

Me concernant, rien de tout cela n’a fonctionné.

erreur-telecharment-image-wordpress

Puis le hasard est intervenu quand j’ai relu un excellent tutoriel consacré à l’installation de WordPress en multisites configuré en domaines (un par site).

Il est fait mention d’un problème de téléchargement de médias qui ne fonctionne pas en configuration multisites de WordPress.

La solution qui est décrite consiste à créer (ou à modifier) un fichier .htaccess (sans oublier le point) dans le dossier /public_html/wp-content/uploads/sites/ et d’y copier le code suivant :

# uploaded files

RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
Une fois le fichier envoyé dans le dossier indiqué, j’ai pu constater que le problème d’insertion des images était définitivement réglé.