- Home
- Categorie
- Coding e Sistemistica
- CMS & Piattaforme Self-Hosted
- Spostamento wp da sottocartella a root
-
Spostamento wp da sottocartella a root
Salve a tutti,
mi è già capitato diverse volte che, spostando un sito in Wordpress da una sottocartella alla root principale, parte dei file di immagine (non tutti) non vengono trasferiti, o meglio, mantengono l'url della sottocartella.
Per spiegarmi meglio, nel passaggio:
da www . sitoesempio . it / prova
a www . sitoesempio . it
diverse immagini restano con l'url www . sitoesempio . / prova / immagine . jpg
Non riesco a spiegarmi il perché e soprattutto vorrei evitarmi il lavoraccio di andare a correggere tutte le url delle immagini dopo il trasferimento.
Qualcuno può aiutarmi?
Forse (scusate, non sono un esperto di mysql...) esiste una query che permette di correggere le url in un botto solo...?
Grazie.
Hikari
-
Il sistema c'è, ma è piuttosto complesso.
Come prima cosa, settare i campi corretti nel pannello amministrativo di wordpress.
Se ancora ci sono errori, come nel tuo caso, il sistema è quello di fare un repleace.
Ti crei un file php, crei la connessione al database, cicli tutta la tabella wp_posts.
Per ogni risultato positivo ( TRUE ), cerchi all'interno del campo se ci sono immagini e se ci sono cambi il percorso.
Ti faccio un esempio banale$query = "SELECT * FROM wp_posts"; $result = mysql_query( $result ); while( $row = mysql_fetch_object( $result ) ) { $var = str_repleace( 'src="vecchiaurl.it/sottodominio/', 'src="nuovaurl.it/', $row->post_content ); if ( $var ) { $update = "UPDATE `wp_posts` SET `post_content` = '".$var."' WHERE ID = '".$row->ID.'"; if ( mysql_query( $update ) ) { echo 'Good Wordk!!'; } else { echo 'Aiaiaiaiaiaiaaiai!; } } }
Ovviamente ho bypassato la connessione al DB.
Credo comunque che ti sia di aiutoEdit: dopo src, ci va anche http: etc, ma il forum non mi permette di scriverlo
Re-Edit: avevo fatto un plugin tempo fa per cercare e sostiuire le occorrenze dal database. Provo a vedere se funziona
-
Grazie. Effettivamente è un po' complesso... Se ci fosse un plugin sarebbe l'ideale...
H.
-
Il plugin è il mio e controllato adesso funziona anche sui link.
Ma:
A) E' un plugin che rischia di comprometterti il database (quindi devi fare backup )
B) Non posso darti il plugin in forma gratuita, ti ho già aiutato dicendoti come fare. Sbaglio? ( purtroppo è il mio lavoro )
C) Se poi lo vuoi comprare, mi puoi scrivere in PVT
-
Questa query che ho trovato, potrebbe risolvere? (gli spazi nelle url li ho messi io)
UPDATE wp_posts SET guid = REPLACE (
guid,
'http: // www . tuosito . it /wordpress/',
'http: // www . tuosito . it/');
-
Quella query è errata.
in wp_posts non esiste un campo guid.
poi stai dichiarando di cercare guid, in tuosito.it e se lo trova di fare il replace con tuosito.it/wordpress/No dico, le capiamo le query?
La soluzione corretta è quella che gli ho offerto io nella mia prima risposta. Gli descritto esattamente come e dove agire.
Se pou lui è in cerca di plugin, ce ne sono diversi, a pagamento o gratuiti.