Не вдається увійти на сайт WordPress. reauth = 1 петля перенаправлення. Будь-які ідеї, як це виправити?


15

У мене виникають певні труднощі входу на мій сайт WordPress. Коли я намагаюся відвідати example.com/wp-admin, я бачу порожню сторінку, а рядок URL змінюється на:

http://example.com/wp-login.php?redirect_to=http%3A%2F%2Fmysite.com%2Fwp-admin%2F&reauth=1

Якщо я заходжу на сторінку example.com/wp-login.php, я бачу лише порожню білу сторінку без зміни URL-адреси.

Я підтвердив, що це не проблема з моєю локальною машиною, оскільки поведінка зберігається в декількох браузерах та пристроях.

Я знайшов численні дописи на форумі щодо цієї проблеми, але жоден не пропонує задовільного рішення.

Будь ласка, допоможіть, оскільки мені терміново потрібно оновити вміст на сайті.

Оновлення: Увімкнув налагодження WordPress і побачив наступну помилку

Fatal error: Cannot redeclare check_password_reset_key() 
(previously declared in /home/wordpress/public_html/wp-login.php:281) 
in /home/wordpress/public_html/wp-includes/user.php on line 1637

Будь-які поради, як це виправити, були б дуже вдячні


3
Очистіть файли cookie.
Вік

Коли ви востаннє входили в WP? wp-admin перенаправлення на wp-login.php правильне. Ви щось змінили, наприклад додали плагін?
user42826

Мені вдалося увійти в останній раз, коли я спробував пару днів тому. Я встановив плагін, але видалив його, і проблема зберігається
user44754

Перевірте свій htaccess, щоб переконатися, що він не вибагливий.
MikeNGarrett

Якщо все інше не вдається, увімкніть налагодження в wp-config.php define('WP_DEBUG', true);та перейдіть до wp-admin. Ви повинні мати можливість бачити повідомлення про помилку та чому вони порожні. Моя здогадка - помилка плагіна, якщо вона працювала раніше.
user42826

Відповіді:


10

Була така ж проблема ... очищення файлів cookie не зробило жодної проблеми.

У чому полягає хитрість: спочатку ввійти через режим інкогніто , а потім я зміг нормально увійти.


1
Не знаю, чому це заперечується ... після видалення session_token я також використав анонімний режим. Мені також потрібно буде очистити хромований кеш, але інкогніто допомогло вирішити проблему, виділивши частину проблеми - браузер. У Chrome є безжалісний кеш і він часто знаходиться в центрі подібних питань.
Тиш

Прихильне, це працювало на мене. Дивно.
IAmJulianAcosta

5

Існує багато можливих причин цієї проблеми. Деякі стосуються вашої бази даних. Спробуйте ввімкнути WP_DEBUG та інтерпретувати повідомлення про помилки.

У моєму власному випадку (саме тому я натрапив на ваше запитання тут), проблеми були з написанням сесійного маркера в usermeta. Я зайшов у PhpMyAdmin> wp_usermeta> і видалив мета_значення для session_token. (Детальна історія тут https://wordpress.org/support/topic/possible-fix-for-sudden-redirect-loop-at-wp-login-with-reauth1 )


Це разом із очищенням кеш-пам’ятника вашого веб-переглядача має бути прийнятою відповіддю.
Тиш

Я використовував такий запит `UPDATE wp_usermeta SET meta_value = '' WHERE meta_key = 'session_tokens' AND user_id = <myuserid>;
новачок

У моєму випадку session_tokensнавіть не було встановлено для мого користувача. Або точніше, що- user_idнебудь було змінено на випадкове число. Я поняття не маю, як це сталося. Тому переконайтеся, що в wp_usermeta є фактично рядок з вашим user_id та meta_key = session_tokens
Девід,

Велике спасибі! Я поспілкувався зі своєю основною URL-адресою веб-сайтів у програмі WordPress для багатосторонніх сайтів. Мені вдалося увійти лише в режимі анонімного перегляду - видалення всіх файлів cookie для мого домену та очищення кешу не допомогло. Я видалив значення для session_tokensз wp_usermeta таблиці і фіксованою моє запитання :) добре зроблено , сер!
Андрій

2

Це може бути викликано збоєм таблиці WordPress. Налаштування define ('WP_DEBUG', правда); в wp-config.php покаже вам, яка саме таблиця вийшла з ладу, якщо це так.


1

Я вирішив цю проблему, визначивши ключі безпеки в wp-config.php:

define('AUTH_KEY',         '');
define('SECURE_AUTH_KEY',  '');
define('LOGGED_IN_KEY',    '');
define('NONCE_KEY',        '');
define('AUTH_SALT',        '');
define('SECURE_AUTH_SALT', '');
define('LOGGED_IN_SALT',   '');
define('NONCE_SALT',       '');

Чомусь вони були порожніми ... Замініть порожні рядки деякими створеними тут: https://api.wordpress.org/secret-key/1.1/salt/ (дякую Джошу Роджерсу)


Не рядки, схожі на випадковий пароль ... WordPress може відновити це для вас тут: api.wordpress.org/secret-key/1.1/salt
Джош Роджерс

Зміна солей Wordpress працювала на мене.
Jay

У моєму випадку ці значення не порожні. я повинен змінити його зі значенням у api.wordpress.org/secret-key/1.1/salt ?
Сантоса Сенді

Можливо, спробуйте очистити файли cookie, відновити сольові ключі та увійти знову.
Ніко Прат

1

Кожен раз , коли у вас є вперед від http://mysiteдо http://mysite/, це має статися. У моєму випадку у мене працює керований httpd-процес, який має кілька віртуальних хостів. Один був налаштований таким чином:

<VirtualHost *:*>
    ServerName mysite.com
    ProxyPass "/blog" "http://bloghtml/blog/"
    ProxyPreserveHost On
</VirtualHost>

Зміна, "/blog"щоб "/blog/"вирішити проблему.


0

У мене теж було це питання, але було інше повідомлення. Пропрацювавши безліч виправлень: htaccess, перейменовані плагіни, перейменовано тему, перевірено, чи немає місця у wp-config.php, я все ще застряг.

Увійшовши в PHPMyAdmin, я намагався оптимізувати таблиці, але отримав користувач відхилену помилку. Виявилося, що сама база даних перебільшується, а потім "блокується" спільним хостингом. Знайшовши головного винуватця (таблицю журналів Wordfence), я урізав це, зачекав 30 хвилин, і він простував, і все знову заробило.

Думав, що це може допомогти комусь іншому повністю застрягнути після спробу всіх інших запропонованих варіантів!


0

Просто пройшов через цю саму річ. Не пощастило з очищенням кешу, .htaccess, очищенням сеансу БД, відключенням FTP-плагінів і т. Д. Мені вдалося ввійти в режим інкогніто / Chrome. Згодом я так і не зміг нормально увійти. Сам кеш браузера не працював, мені довелося спеціально видалити всі файли cookie, пов’язані з доменом.

Налаштування> Показати розширені налаштування> Налаштування вмісту>

У розділі "Налаштування конфіденційності" натисніть кнопку "Налаштування вмісту"

У розділі cookie натисніть кнопку «Всі файли cookie та дані про сайт»

Потім знайдіть свій веб-сайт за ключовим словом у вікні пошуку: Виділіть свій веб-сайт та натисніть Видалити на клавіатурі.

Клацніть Готово і спробуйте знову увійти на свій сайт (у звичайному режимі .. тобто просто вийти з режиму інкогніто, закривши вікно)

Якщо ви вже відкрили сайт на іншій вкладці, ви отримаєте помилку cookie. закрити всі вкладки, знову відкрити, увійти та насолоджуватися


0

Ніщо з перерахованого вище не працювало для мене.

Після ввімкнення режиму налагодження:

define('WP_DEBUG', true);

в wp-config.php

Сайт розповідав мені про дозволи з користувачем бази даних ...

Що для мене спрацювало, це повернення назад до користувача кореневої бази даних (а не до веб-користувача з меншими дозволами).

Очевидно, що це не довгострокове рішення, але дає вам щось інше, щоб спробувати, що може допомогти вам.


0

Я хотів би внести свій внесок у співтовариство, а також, оскільки ця проблема дуже дратувала. Не з рішення працював на мене. Я не встановлював жодних плагінів до того, як це сталося, напевно, я думаю, що це помилка Wordpress!

Мої точні помилки: відладчик через WP. Після екрана входу з'явився білий екран з цією помилкою.

 Fatal error: Class 'PasswordHash' not found in /var/www/public_html/example.net/wp-includes/pluggable.php on line 2079

Через журнал помилок apache.

PHP Fatal error:  Class 'PasswordHash' not found in /var/www/public_html/example.net/wp-includes/pluggable.php on line 2138, referer: http://example.net/wp-login.php?redirect_to=http%3A%2F%2Fexample.net%2Fwp-admin%2F&reauth=1

Як я вирішив проблему. 1. У БД я відредагував свій пароль адміністратора до простого текстового пароля. 2. Додано ці рядки коду до pluggable.php. В основному зараз WP розпізнає не хешовані паролі. Ось відредаговані витяги pluggable.php

function wp_check_password($password, $hash, $user_id = '') {
<------>global $wp_hasher;

<------>//20170713 Added by Stefan
<------>$check=($hash==$password);
<------>return apply_filters('check_password', $check, $password, $hash, $user_id);

... і трохи нижче

function wp_set_password( $password, $user_id ) {
<------>global $wpdb;

<------>//$hash = wp_hash_password( $password );
<------>//20170713 Changed by Stefan
<------>$hash=$password;

Сподіваюся, це комусь допомагає, бо гугл мені не допоміг.


Оскільки все працює без проблем до сьогодні, мені довелося створити новий блог у своїй мультиінсталяції, і оскільки сценарій повинен додати користувача та його пароль, потрібно було ще трохи коментувати, щоб повністю усунути хешування паролів. Просто щоб повідомити вам.
користувач2047710

0

У мене була така ж проблема, але я не міг позбутися, витративши занадто багато часу, отримавши цю відповідь звідси http://www.wpbeginner.com/wp-tutorials/how-to-fix-wordpress-login-page-refreshing-and -redirecting-issue /, тож це лише проблема cookie, нам потрібно очистити cookie браузера та включити його знову, і це все.


0

Я виправлю це за допомогою https: // для доступу до мого веб-сайту замість http: //, тому я не отримав жодного перенаправлення. https://my_website.com/admin Ви також можете змінити значення "siteurl" та "home" у таблиці параметрів через phpmyadmin у cpanel, щоб вказати на https. Я зауважую, що це може бути проблема з неправильним перенаправленням ssl.


0

Я перевірив цю проблему після переміщення свого сайту з одного сервера на інший. Після імпорту бази даних на новий сервер я не зміг увійти. На новому сервері я ще не захистив SSL-сайт, тому мені довелося змінити siteurl та home в базі даних.

Виправити

  • Я встановив його, перейшовши в базу даних і зміни SITEURL і вдома від https://до http://в wp_options.

Це може допомогти іншим.


0

Спробуйте видалити рядок запитів у URL-адресі ("?" Та всьому, що стоїть за нею), тобто: відвідайте wp-login.php безпосередньо. Це працювало для мене. Я спробував змінити пароль, змінити солі, очистити мета-значення для session_tokens у wp_usermeta. Нічого з цього не спрацювало.

Вибачте, я знаю, що це не допомагає вам, оскільки ви говорите, що ваш екран wp-login.php білий, але це може допомогти тому, хто, як я, потрапив сюди по заголовку.


0

це сталося зі мною, коли я оновив свій веб-сайт до php v7.4. перехід на php 7.3 вирішив це. На жаль, я не знаю, як зберегти версію та виправити проблему. Сподіваємось, незабаром розробники WP виправлять цю проблему.


-1

Це трапилося зі мною після того, як я змінив URL сайту , але я забув змінити site_urlв wp_sitemeta. Потім я змінив значення на нову URL-адресу і вирішив проблему.


-1

Я вирішив свою проблему, замінивши файл wp-login.php на інший веб-сайт, на якому працював логін.


-2

моя помилка була пов’язана з наведеною нижче директивою у файлі конфігурації nginx

location ~ \.php$ {

               #fastcgi_hide_header "Set-Cookie"; # Cache page with cookie 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.