Prima della mia breve assenza questo articolo credo sarà utile a molti. Prima o poi ci è capitato per errore, per test, per aver spostato un sito da locale ad online con settaggi diversi, di aver cambiato una o entrambe le URL che si impostano sotto Impostazioni => Generale rendendo il vostro sito inaccessibile. La soluzione spesso consigliata è quella di usare phpMyadmin per cambiare nella tabella wp_options le option_value di siteurl e home. Tuttavia esiste una alternativa semplice, si tratta di una delle novità introdotte sin dalla versione 2.2 e passata sotto silenzio: la disponibilità di due opzioni da inserire nel file wp-config.php.
Si tratta di due variabili WP_SITEURL e WP_HOME che corrispondono alle voci Indirizzo WordPress e Indirizzo del blog del pannelo di amministrazione di cui sopra. Se definite singolarmente o entrambe hanno la precedenza sui valori memorizzati nel database ed anzi forzano tali valori sostituendoli con quelli definiti per le due variabili. In pratica aggiungendo nel wp-config
define('WP_SITEURL', 'http://example.com/wordpress');
e/o
define('WP_HOME', 'http://example.com/wordpress');
sostituendo a http://example.com/wordpress il valore corretto per il vostro blog al primo accesso al blog o al pannello di amministrazione verranno usati i valori impostati in queste variabile che andranno anche a sotiture i valori presenti nel DB che avranno la precedenza sui valori presenti nel database. Per modificare permanentemente i valori nel database occorrerà tramite phpmyadmin editare la tabella XX_options (con XX uguale al prefisso scelto, solitamente wp_) e nei record con option_name uguale a siteurl e home cambiare il campo option_value con la url corretta.
Una utile applicazione di tali può essere per chi come me ha una installazione locale esatta copia di quella online con un dominio virtuale locale impostato su Apache. Già ora il mio wp-config ha un if che in base alla URL richiamata dal browser usa valori di accesso al DB diversi a seconda che si tratti di wordpress-it.it o della mia copia locale (wpit.loc). Aggiungendo queste due variabili nelle due casistiche dell’if posso trasferire il DB remoto in locale ed usarlo immediatamente senza dover modificare le voci nel database ed al contempo in caso ddi disastro effettuare il ripristino del database anche uin questo caso senza ulteriori interventi.






Commenti dei Lettori
Per esperienza diretta: se spostate il blog da una cartella all’altra, controllate anche il file .htaccess (c’è il riferimento al file che gestisce i permalink) !
Grazie per la dritta. Ho avuto questo problema qualche tempo fa e non riuscivo a trovare una soluzione dato che importando il db dal sito in locale sull’ftp manteneva gli url http://127.0.0.1 ecc. ecc., il siteurl riuscii a modificarlo dal db ma per il wp_home non sapevo come fare, ora è tutto più chiaro!
Sostituito ma mi da questo errore…
Parse error: syntax error, unexpected T_STRING in /home/mhd-01/www.librieappunti.it/htdocs/wp-config.php on line 4
E come è fatta la riga 4? Che poi dovrebbe essere una riga di configurazione del database e non di quelle da inserire.
Scusa ma forse non ho capito bene…
Io prendo queste stringhe
define(‘WP_SITEURL’, ‘http://www.librieappunti.it’);
define(‘WP_HOME’, ‘http://www.librieappunti.it’);
e le aggiungo al file wp-config.php.
MA DOVE?
Mettendoli dopo tutti i define mi visulaizza questo errore:
Parse error: syntax error, unexpected T_STRING in /home/mhd-01/www.librieappunti.it/htdocs/wp-config.php on line 10
ripeto, cosa c’è sulla riga 10? Esattamente! Io dico che manca qualche ; di fine riga!
Grazie della pazienza.
La righa 10 è quella dove ho aggiunto:
define(’WP_SITEURL’, ‘http://www.librieappunti.it’);
Gli apici non sono identici… mettili tutti uguali.. anche sulla seconda riga wp_home, il problema è quello.
Vista la mia disperazione, ho rimesso il solito wp-config ed sono entrato in phpMyadmin ed ho modificato come indicato.
Risultato:
Parse error: syntax error, unexpected T_STRING in /home/mhd-01/www.librieappunti.it/htdocs/wp-config.php on line 2
E questa è la mia riga n°2:
define(‘DB_NAME’, ‘xxxxxxxx’); // Nome del database
Dimenticavo…
Merda!
Ora non mi funziona più nemmeno il forum…
Salve.
io è da poco che uso wp, per cui portate pazienza se vi pongo una domanda per voi banale;
ho trovato l’articolo molto interessante e non ho avuto problemi a crearmi la copia locale del mio piccolo blog, modificando le voci del DB;
ho solo un dubbio: come mai la gestione dei permalink non viene mantenuta una volta creata la “copia locale” se non impostando i permalink in modalità predefinita?
io infatti utilizzo i permalink nella forma data e nome, ma così in locale i link non funzionano.
ciao e grazie
Posto che la domanda è OT rispetto all’articolo in questione e che le richieste di supporto vanno fatte sul forum…
A me localmente funzionano senza dover riscrivere i permalink ogni volta ma io ho anche un .htaccess locale che forse tu non hai.
Eventuale seguito sul forum grazie.
GRAZIEEEEEEEE!!!
avevo combinato un casino ma con questo articolo ho risolto il mio problema
grazie davvero
Silvia
Molte grazie….ero disperato vedendo sparire il blog
e mi dava errore 404 con questa procedura via config.php
o ripristinato gli accessi principali che avevo erroneamente
cambiato dal pannello generale.
Grazie by
sei un grande.
Anche per me è stato fondamentale. Grazie. E a wolly per avermelo segnalato.
Ciao,
grazie per questa piccola guida mi è stata utilissima.
Se è possibile vorrei avere qualche informazione in più riguardo alle ultime righe che hai scritto.
Sto cercando di fare la stessa cosa che hai scritto, cioè di avere due cartelle per wp, una per wp locale e una per wp pubblico, ma vorrei capire come sistemare il database.
grazie
Oggi ho vissuto momenti di terrore!! Grazie al tuo aiuto ho risolto.. GRAZIEEEEEE!
Grazie a questo articolo ho risolto il problema. Solo che sono intervenuto sul database (che era un’alternativa da te indicata) perchè per me è più semplice.
Grazie!
Ciao SteveAgl,
come mi hai suggerito sul forum, ho letto l’articolo, ho aggiunto le due righe:
define(‘WP_SITEURL’, ‘http://www.astigiando.it/wordpress‘);
define(‘WP_HOME’, ‘http://www.astigiando.it‘);
nel file wp-config e l’errore quando inserisco l’indirizzo admin è cambiato in
Parse error: syntax error, unexpected T_STRING in /web/htdocs/www.astigiando.it/home/wordpress/wp-config.php on line 54
(la linea 54 è
define(‘SECURE_AUTH_KEY’, ‘Xx#|3SJm[6s1F:-x+mO^zQS|v?Vh_-`Wg5`$-z#E-@zEX@F!E>`J47);)
…
sono confusa, grazie in anticipo
ci sono riuscita.. meno male…
adesso devo togliere le due righe dal file di wp-config?
mi è capitato per errore, per test, di aver cambiato una delle URL che si impostano sotto Impostazioni => Generale e ora il sito http://www.giugliano1928.it/ non è più accessibile, ovvero il sito si vede ma in mal modo e non riesco più ad accedere al pannello di controllo.
NON RIESCO A FARE QUESTO …. Per modificare permanentemente i valori nel database occorrerà tramite phpmyadmin editare la tabella XX_options (con XX uguale al prefisso scelto, solitamente wp_) e nei record con option_name uguale a siteurl e home cambiare il campo option_value con la url corretta.
Ciao a tutti
oggi ho fatto un errore
per sbaglio su my-admin
in panello di controllo wordpress ho cambiato url
togliendo la parte http//:www.miosito.com
http//:miosito.com
adesso il sito si vede male ed io non posso più entrare al panello di controllo
kmq se mi date una mano vi sarei gratta
grazie mille
Trackback/Pingback