Login a wp-admin "redirect_to" reindirizza all'URL sbagliato dopo la migrazione
Ho un sito WordPress ospitato su GoDaddy, è un server Windows, (ho configurato correttamente il web.config
) e .htaccess
. Il sito funzionava su example.com/wordpress
, poiché era un test di sviluppo. Ho spostato il sito su example.com
.
Ho modificato l'URL del sito e l'URL WordPress in example.com
nel database tramite PhpMyAdmin e ho aggiornato la struttura dei permalink.
Ho anche aggiornato tutti i campi 'content' di wp_post per modificare gli URL.
Problema
Quando provo ad accedere al pannello di amministrazione tramite example.com/wp-admin
, l'URL appare come
example.com/wp-login.php?redirect_to=http://example.com/wordpress/wp-admin/reauth=1
Perché potrebbe succedere questo se sia l'URL del sito che l'URL di WordPress corrispondono e coincidono con il database.
Note Aggiuntive
Non è un problema di cache (almeno non dal lato browser), ho provato diversi browser e faccio la maggior parte dei test in finestre Chrome in incognito.
Ho provato a impostare update_option
sia per siteurl
che per home
in functions.php
e:
//wp-config.php
define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');
Ho anche provato il Metodo di Rilocazione spiegato nel Codex http://codex.wordpress.org/Changing_The_Site_URL

Avevo lo stesso problema. Per risolverlo ho dovuto apportare alcune modifiche al database. Utilizza phpMyAdmin o accedi direttamente al database e controlla la tua tabella wp_options
. Verifica i seguenti due campi: siteurl
e home
.
SELECT * FROM wp_options WHERE option_name IN ('siteurl', 'home');
Assicurati che questi campi contengano le informazioni corrette sul dominio, altrimenti modificali e vedi cosa succede. Nel mio caso il problema è stato risolto.

La mia istanza WordPress ha quei campi impostati con l'URL corretto, tuttavia il sorgente HTML nella pagina di login mostra ancora <input type="hidden" name="redirect_to" value="http://localhost/wp-admin/">
alla fine...

Ecco come modificare le voci: update wp_options set option_value = replace(option_value, "old website url", "new website url");

Ho risolto un problema simile utilizzando lo strumento a riga di comando wp
command line tool. Ho dovuto usare lo strumento a riga di comando perché non riuscivo ad accedere all'amministrazione di WordPress con il browser.
wp @mysitestage config set WP_HOME "https://stage.mysite.com/"
wp @mysitestage config set WP_SITEURL "https://stage.mysite.com/blogdir"

Ho risolto questo problema installando un plugin per modificare l'URL di login: https://wordpress.org/plugins/wps-hide-login/
Avevo bisogno anche di questa funzionalità di sicurezza.
