Unele imagini nu sunt găsite (404) pe localhost

15 aug. 2013, 06:08:39
Vizualizări: 18.5K
Voturi: 1

Am transferat o instalare WordPress de pe domeniu pe localhost. Am făcut toți pașii obișnuiți: copiere fișiere, export baza de date, înlocuire domain.com cu localhost, actualizare wp-config.php și reîmprospătare permalink-uri. Toate paginile și regulile personalizate de rewrite funcționează, dar unele imagini returnează eroare 404.

Când verific acele imagini pe domeniul real totul funcționează corect, dar ceva nu pare în regulă; dacă verific URL-ul imaginii acesta indică spre această cale:

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

Dar acest fișier nu există! Am verificat prin FTP în folderul uploads și fișierul nu este acolo, există doar IMG_0425-185x185-150x150.jpg. Rețineți că 185x185 face parte din numele original al fișierului, dar 150x150 a fost adăugat de WordPress.

Pe localhost imaginea nu apare (404), ceea ce are sens.

De ce apare imaginea pe domeniu când nici măcar nu există? WordPress rezolvă cumva imaginea către thumbnail-ul generat? De ce nu funcționează pe localhost în acest caz?

Edit:

Aici este ceva ce nu are sens. Cum este posibil acest lucru? Poate cache-ul are de-a face cu asta?
După cum puteți vedea, nici urmă de IMG_0425-185x185.jpg în folder (??) dar IMG_0425-185x185-150x150.jpg există.

Listare fișiere în folderul uploads - lipsă imaginea originală

2
Comentarii

A fost rezolvată această întrebare? V-a ajutat răspunsul meu?

Ethan Rævan Ethan Rævan
2 sept. 2016 13:32:19

în cazul meu, un plugin numit "WebP Express" a creat un fișier htaccess în directorul uploads care restricționează accesul la unele imagini. încearcă să îl redenumești sau să îl ștergi și vezi dacă problema persistă.

Sanikookalam Sanikookalam
18 dec. 2023 14:35:24
Toate răspunsurile la întrebare 3
0

Schimbarea valorilor home și siteurl în tabelul wp_options nu este suficient, din păcate. Conținutul postărilor va rămâne cu URL-ul original (non-localhost, http://domain.com), ceea ce va face ca site-ul să nu se afișeze corect pe localhost.

După ce ai descărcat și importat baza de date pe localhost, urmează acești pași:

  1. Descarcă scriptul Interconnect IT's Database Search & Replace de aici
  2. Dezarhivează fișierul și plasează folderul în directorul localhost unde este instalat WordPress (în rădăcină), apoi redenumește folderul în replace (captură de ecran)
  3. Accesează noul folder creat în browser (ex: http://localhost/wordpress/replace) și vei vedea instrumentul de căutare/înlocuire
  4. Procesul este destul de intuitiv: introdu vechiul URL în câmpul search for… și noul URL în replace with…

Poți apăsa butonul dry run (test fără modificări) din secțiunea actions pentru a vedea ce va fi înlocuit înainte de a executa scriptul. După finalizare, asigură-te că ștergi folderul /replace/.

2 sept. 2016 13:31:40
5

Dacă nu este prezent în clientul tău FTP - deci nu este pe serverul tău - nu va apărea pe site-ul tău. Așadar, este aproape sigur o problemă de caching în browserul tău, ai încercat să îl cureți sau să faci un refresh forțat? WordPress-ul nu va reveni la thumbnail dacă imaginea originală nu este acolo. Fișierul .htaccess va încărca pur și simplu index.php, care va returna o eroare 404.

Un alt lucru pe care l-aș verifica este să te asiguri că URL-ul indică locația pe care crezi că o indică. WordPress stochează toate legăturile imaginilor ca URL-uri absolute în baza de date. Și dacă nu faci un find+replace când muți un site, acestea nu se vor actualiza. Ai menționat că ai mutat site-ul și este posibil să încarci imaginea de pe un server mai vechi.

15 aug. 2013 08:39:53
Comentarii

Verifică imaginea pe care am adăugat-o. Acesta este lucrul ciudat. Pe domeniu imaginea apare chiar dacă URL-ul indică către o imagine care nu există. Am făcut search/replace la tot ca de obicei, niciodată nu am avut această problemă. E ciudat. Am dezactivat cache-ul și tot primesc 404. Am repetat procesul de câteva ori, același lucru.

elclanrs elclanrs
15 aug. 2013 08:43:16

Ai golit cache-ul browserului? Ce fel de plugin-uri ai instalate? Deși nu-mi pot imagina că un plugin de caching ar face asta, toate pe care le-am văzut folosesc caching la output doar pentru a reduce încărcarea pe baza de date și construcția DOM în PHP. Dar tu tot încarci resurse de pe server.

George Yates George Yates
15 aug. 2013 08:46:02

Sunt în procesul de reconstruire a tuturor thumbnail-urilor cu http://wordpress.org/plugins/ajax-thumbnail-rebuild/. 2 din 259, 3 din 259... să vedem cum merge. Am dezactivat plugin-ul Super Cache pe localhost și problema persistă.

elclanrs elclanrs
15 aug. 2013 08:50:13

Mult succes. Am avut rezultate bune cu această opțiune dacă nu te ajută.

George Yates George Yates
15 aug. 2013 08:52:27

Am terminat, nu a funcționat. Mă gândesc că poate unele imagini au fost încărcate cu permisiuni diferite, așa că nu apar în FTP cu credențialele mele. Poate va trebui să contactez clientul să văd dacă asta e problema, pentru că imaginile apar în domeniu dar nu în FTP. Nu-mi vine în minte altceva în afară de asta...

elclanrs elclanrs
15 aug. 2013 08:58:25
0

Probabil este vorba de permisiuni. Accesează folderul wp-content din consolă și tastează:

chmod -R 767 uploads

Informații despre permisiuni în Codex.

14 aug. 2015 23:37:21