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...
Arthur Attout
Așa poți modifica intrările; update wp_options set option_value = replace(option_value, "old website url", "new website url");
Sy Ker
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.