Autentificarea în wp-admin "redirect_to" indică către un URL greșit după migrare
Am un site WordPress găzduit pe GoDaddy, pe un server Windows, (am configurat corect web.config
) și .htaccess
. Site-ul funcționa pe example.com/wordpress
, fiind o versiune de dezvoltare. Am mutat site-ul la example.com
.
Am modificat URL-ul site-ului și URL-ul WordPress la example.com
în baza de date prin PhpMyAdmin și am actualizat structura permalink-urilor.
De asemenea, am actualizat toate câmpurile 'content' din wp_post pentru a modifica URL-urile.
Problemă
Când încerc să mă autentific în panoul de administrare prin example.com/wp-admin
, URL-ul apare ca
example.com/wp-login.php?redirect_to=http://example.com/wordpress/wp-admin/reauth=1
De ce s-ar putea întâmpla acest lucru dacă atât URL-ul site-ului cât și URL-ul WordPress se potrivesc și corespund cu baza de date.
Note Adiționale
Nu este o problemă de cache (Cel puțin nu din partea browserului), am încercat diferite browsere și fac majoritatea testelor în ferestre incognito Chrome.
Am încercat să setez update_option
atât pentru siteurl
cât și pentru home
în functions.php
și:
//wp-config.php
define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');
Am încercat de asemenea Metoda de Relocare explicată în Codex http://codex.wordpress.org/Changing_The_Site_URL

Am avut aceeași problemă. Pentru a o rezolva, a trebuit să fac unele modificări în baza de date. Folosește phpMyAdmin sau conectează-te direct la baza de date și verifică tabelul wp_options
. Verifică următoarele două câmpuri: siteurl
și home
.
SELECT * FROM wp_options WHERE option_name IN ('siteurl', 'home');
Asigură-te că aceste câmpuri conțin informațiile corecte despre domeniu; dacă nu, modifică-le și vezi ce se întâmplă. În cazul meu, problema a fost rezolvată.

Instanța mea WordPress are acele câmpuri setate la URL-ul corect, totuși codul sursă HTML de pe pagina de login încă conține <input type="hidden" name="redirect_to" value="http://localhost/wp-admin/">
la final...

Așa poți modifica intrările; update wp_options set option_value = replace(option_value, "old website url", "new website url");

Am reușit să rezolv o problemă similară folosind instrumentul de linie de comandă wp
. A trebuit să folosesc instrumentul de linie de comandă deoarece nu am putut să mă autentific în administrarea WordPress din browser.
wp @mysitestage config set WP_HOME "https://stage.mysite.com/"
wp @mysitestage config set WP_SITEURL "https://stage.mysite.com/blogdir"

Am rezolvat această problemă instalând un plugin pentru modificarea URL-ului de autentificare: https://wordpress.org/plugins/wps-hide-login/
Aveam nevoie și de această funcționalitate de securitate.
