Quando si sposta un sito WP, perché wp-admin reindirizza al vecchio sito?


16

Sono in procinto di spostare un sito WP da un host a un altro. Ho copiato il database e tutti i file, creato un nuovo database e importato quello vecchio. Ho quindi modificato il file wp-config. La home page mostra bene, ma quando provo ad accedere a / wp-admin mi riporta al vecchio sito.

Il nuovo sito è un server di sviluppo in cui prevedo di apportare modifiche allo stile prima di pubblicare il sito.

Cosa mi manca di questa transizione? Come faccio a far sì che il sito risponda correttamente all'URL di sviluppo?

Risposte:


22

Se si tratta di una singola installazione di WordPress, ci sono un paio di voci del database con il tuo vecchio dominio. Nello specifico siteurle homeall'interno wp_options.

Detto questo, se l'URL di sviluppo è temporaneo, puoi anche impostare le seguenti due costanti in wp-config.php:

define('WP_HOME', 'http://' . $_SERVER['SERVER_NAME']);
define('WP_SITEURL', WP_HOME . '/');

A condizione che WordPress sia installato nella radice del tuo sito Web.


Dovresti anche aggiornare il guidper ciascuno wp_postsin caso di eventuali allegati, usando qualcosa comeUPDATE wp_posts SET guid = REPLACE('<old_url>','<new_url>', guid)
ciclico

2
Il GUID non deve essere modificato. Per saperne di più qui: codex.wordpress.org/Changing_The_Site_URL#Important_GUID_Note
NightHawk

4

Non è un grosso problema. Il database contiene tutti i collegamenti precedenti che non possono essere convertiti automaticamente. Esistono due tipi di soluzioni per questo:

  1. In wp-config.phpaggiungi questo codice:

    define ('WP_HOME', 'http: //'. $ _SERVER ['SERVER_NAME']);
    define ('WP_SITEURL', WP_HOME. '/');
  2. Modificare il seguente SQL sostituendo "oldurl" con il collegamento precedente e "newurl" con il collegamento corrente:

UPDATE wp_posts SET guid = replace(guid, 'oldurl','newUrl'); 

UPDATE wp_posts SET post_content = replace(post_content, 'oldurl', 'newUrl'); 

UPDATE wp_links SET link_url = replace(link_url, 'oldurl', 'newUrl'); 

UPDATE wp_links SET link_image = replace(link_image, 'oldurl', 'newUrl'); 

UPDATE wp_postmeta SET meta_value = replace(meta_value, 'oldurl', 'newUrl'); 

UPDATE wp_usermeta SET meta_value = replace(meta_value, 'oldurl', 'newUrl'); 

UPDATE wp_options SET option_value = replace(option_value, 'oldurl', 'newUrl') WHERE option_name = 'home' OR option_name = 'siteurl';

Esegui queste query SQL nel tuo database, modificando il prefisso se hai qualcosa di diverso wp_.


2

La semplice modifica dell'URL del sito nella configurazione probabilmente non aggiornerà tutti gli interni per creare un sito di sviluppo funzionante per te (a meno che il sito non sia piuttosto grezzo). Avrai problemi con i dati serializzati non visualizzati e i collegamenti all'interno dei post che puntano al vecchio sito.

Sarebbe più intelligente utilizzare uno strumento di migrazione come Backup Buddy o Duplicator per creare una copia completa del sito che può essere ridistribuita in una nuova posizione con un nuovo URL. In questo modo, avrai ancora collegamenti funzionanti all'interno dei post, eventuali collegamenti ai menu personalizzati, ecc. L'uso di uno di questi renderà anche più semplice l'avvio delle modifiche. Basta impacchettare tutto e ridistribuirlo nel sito di produzione al termine.

Se non vuoi perdere tempo a scaricare / caricare di nuovo tutto, puoi semplicemente migrare il database usando qualcosa come WP Migrate DB. Installalo sul tuo sito di produzione, esporta un database con il nuovo URL e importa il database migrato sul tuo sviluppatore tramite phpMyAdmin o simili. Eventuali collegamenti codificati nel tuo tema dovranno comunque essere aggiornati e il tuo .htaccess dovrà essere aggiornato se stai installando in una sottocartella.

Modificare la riga RewriteBase in:

RewriteBase /yourfolder/

E la linea che reindirizza al tuo index.php per:

RewriteRule . /yourfolder/index.php [L]

0

Devi cambiare l'indirizzo del sito (URL) e l'indirizzo di WordPress (URI) attraverso il pannello di amministrazione prima di spostare il sito in un altro URL.

Nel tuo caso non puoi farlo su un sito live, quindi puoi provare uno strumento come Cerca e sostituisci database per modificare l'URL dal database del sito di sviluppo.

Puoi anche fare riferimento a Moving WordPress


0
  1. phpMyAdmin: vai al wp_optionsset di tabelle homeurle siteurlcome nuovo URL
  2. Accedi al tuo wp-adminpannello di controllo vai a setting->general modificare l'indirizzo di WordPress (URL) e l'indirizzo del sito (URL)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.