El "redirect_to" del login wp-admin apunta a una URL incorrecta después de la migración
Tengo un sitio WordPress alojado en GoDaddy, es un servidor Windows, (tengo el web.config
configurado) y el .htaccess
correctamente configurado. El sitio estaba funcionando en example.com/wordpress
, ya que era una prueba de desarrollo. Moví el sitio a example.com
.
Cambié la URL del sitio y la URL de WordPress a example.com
en la base de datos a través de PhpMyAdmin, y actualicé la estructura de enlaces permanentes.
También actualicé todos los campos 'content' de wp_post para cambiar las URLs.
Problema
Cuando intento iniciar sesión en el panel de administración a través de example.com/wp-admin
, la URL se muestra como
example.com/wp-login.php?redirect_to=http://example.com/wordpress/wp-admin/reauth=1
¿Por qué podría estar sucediendo esto si tanto la URL del sitio como la URL de WordPress coinciden, y coinciden con la base de datos?
Notas Adicionales
Esto no es un problema de caché (Al menos no del lado del navegador), he probado diferentes navegadores, y hago la mayoría de las pruebas en ventanas de incógnito de Chrome.
He intentado establecer update_option
tanto para siteurl
como para home
en functions.php
y:
//wp-config.php
define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');
También probé el Método de Reubicación explicado en el Codex http://codex.wordpress.org/Changing_The_Site_URL

Tuve el mismo problema. Para solucionarlo tuve que hacer algunos cambios en la base de datos. Usa phpMyAdmin o ingresa directamente a la base de datos y revisa tu tabla wp_options
. Verifica los siguientes dos campos: siteurl
y home
.
SELECT * FROM wp_options WHERE option_name IN ('siteurl', 'home');
Asegúrate de que estos campos contengan la información correcta del dominio. Si no es así, cámbialos y observa qué sucede. En mi caso, el problema se resolvió.

Mi instancia de WordPress tiene esos campos configurados con la URL correcta, pero el código fuente HTML en la página de inicio de sesión todavía tiene <input type="hidden" name="redirect_to" value="http://localhost/wp-admin/">
al final...

Así es como modificas las entradas: update wp_options set option_value = replace(option_value, "old website url", "new website url");

Pude resolver un problema similar utilizando la herramienta de línea de comandos wp
herramienta de línea de comandos. Tuve que usar la herramienta de línea de comandos porque no podía iniciar sesión en el administrador de WordPress con mi navegador.
wp @mysitestage config set WP_HOME "https://stage.mysite.com/"
wp @mysitestage config set WP_SITEURL "https://stage.mysite.com/blogdir"

Resolví esto instalando un plugin para cambiar la URL de inicio de sesión: https://wordpress.org/plugins/wps-hide-login/
También necesitaba esta función de seguridad.
