web-dev-qa-db-fra.com

Certaines images non trouvées 404 dans localhost

Je viens de transférer une installation WordPress du domaine vers mon hôte local. J'ai suivi toutes les étapes habituelles: copier des fichiers, exporter une base de données et remplacer domain.com par localhost, mettre à jour wp-config.php et actualiser les liens permanents. Toutes les pages et les règles de réécriture personnalisées fonctionnent, mais certaines images donnent un 404.

Lorsque je vérifie ces images sur le domaine réel, tout fonctionne correctement, mais quelque chose ne va pas; Si je vérifie l'URL de l'image, celle-ci pointe vers ce chemin:

http://domain.com/wp-content/uploads/2013/08/IMG_0425-185x185.jpg

Mais ce fichier n'existe pas! J'ai regardé dans le dossier uploads via FTP et le fichier n'existe pas, seul le IMG_0425-185x185-150x150.jpg existe. Notez que 185x185 fait partie du nom de fichier d'origine, mais 150x150 est ajouté par WP.

Dans localhost, l'image n'apparaît pas (404), ce qui est logique.

Pourquoi l'image apparaît-elle sur le domaine alors qu'elle n'existe même pas? WordPress résout-il l'image en une vignette générée? Pourquoi ça ne marche pas sur le localhost si c'est le cas?

Modifier:

C'est ce qui n'a aucun sens. Comment est-ce possible? Peut-être que la cache a quelque chose à faire?
Comme vous ne pouvez voir aucune trace de IMG_0425-185x185.jpg dans le dossier (??) mais IMG_0425-185x185-150x150.jpg existe.

enter image description here

1
elclanrs

Changer les home et siteurl dans votre table wp_options ne suffit malheureusement pas. Votre contenu de publication avec votre URL non-hôte local (http://domain.com) restera toujours tel que votre site Web ne s'affichera pas correctement sur votre hôte local.

Une fois que vous avez téléchargé et importé votre base de données sur votre localhost. Suivez ces étapes:

  1. Allez télécharger Le script de recherche et de remplacement de base de données d'Interconnect IT ici
  2. Décompressez le fichier et déposez le dossier dans votre localhost où votre WordPress est installé (la racine) et renommez le dossier enreplace( screenshot )
  3. Naviguez jusqu'au nouveau dossier que vous avez créé dans votre navigateur (ex: http://localhost/wordpress/replace) et vous verrez l'outil de recherche/remplacement
  4. Cela devrait être assez explicite jusqu'à ce point: entrez votre ancienne URL dans le champsearch for…et la nouvelle URL dans le champreplace with…

Vous pouvez cliquer sur le bouton exécution à sec sous actions pour voir ce qu'il va remplacer avant d'exécuter le script. Une fois que vous avez terminé, veillez à supprimer le dossier /replace/.

1

Peut-être que ce sont des autorisations. Accédez au dossier wp-content dans la console et tapez:

chmod -R 767 uploads

Informations sur les autorisations du Codex.

0
amespower

Si ce n'est pas dans votre client FTP - donc pas sur votre serveur - cela ne va pas apparaître sur votre site. Donc, c’est presque certainement une chose mise en cache dans votre navigateur, avez-vous essayé de le nettoyer ou d’actualiser votre disque dur? La réécriture de WordPress ne retombera pas sur la vignette si l'image d'origine n'y est pas. le .htaccess chargera simplement le index.php qui lancera un 404.

L'autre chose que je voudrais vérifier est de m'assurer que l'URL pointe bien là où vous pensez. WordPress stocke tous ses liens d'image sous forme d'URL absolue dans la base de données. Et sauf si vous effectuez une recherche + un remplacement lorsque vous transférez un site, celui-ci ne sera pas mis à jour. Vous avez dit que vous déplaciez le site et qu'il est fort possible que vous chargiez l'image à partir d'un serveur plus ancien.

0
George Yates