Невозможно войти на мой 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

Любые советы о том, как это исправить, будет принята с благодарностью

user44754
источник
3
Очистите ваши куки.
Wyck
Когда в последний раз вы могли войти в WP? Перенаправление wp-admin на wp-login.php является правильным. Вы что-то изменили, например, добавили плагин?
user42826
Я смог войти в последний раз, когда пытался пару дней назад. Я установил плагин, но я удалил его, и проблема остается
user44754
Проверьте свой htaccess, чтобы убедиться, что он не шаткий.
MikeNGarrett
Если ничего не помогает, включите отладку в wp-config.php define('WP_DEBUG', true);и получите доступ к wp-admin. Вы должны быть в состоянии увидеть сообщения об ошибках и почему оно пустое. Я думаю, это ошибка плагина, если он работал ранее.
user42826

Ответы:

10

Была такая же проблема ... очистка куки не сработала.

Для чего сначала нужно было войти через режим инкогнито , а затем я смог нормально войти в систему.

Даниил
источник
1
Не уверен, почему за это проголосовали ... после удаления session_token я тоже использовал инкогнито. Мне также нужно будет очистить кэш Chrome, но инкогнито помогло решить проблему, выделив часть проблемы в браузере. Chrome имеет беспощадный кэш и часто находится в центре таких проблем.
Тиш
Upvoted, это работало на меня. Weird.
IAmJulianAcosta
5

Есть много возможных причин этой проблемы. Некоторые из них связаны с вашей базой данных. Попробуйте включить WP_DEBUG и интерпретировать сообщения об ошибках.

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

mengsel
источник
Это наряду с очисткой кэша вашего браузера должно быть принятым ответом.
Тиш
Я использовал такой запрос: 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
David
Большое спасибо! Я испортил URL моего основного сайта в многосайтовой настройке WordPress. Я мог войти только в режиме инкогнито - удаление всех файлов cookie для моего домена и очистка кэша не помогли. Я удалил значение для session_tokensиз wp_usermeta таблицы и фиксированной мой вопрос :) хорошо сделано , сэр!
Андрей
2

Это может быть вызвано сбоем таблицы WordPress. Определение настроек ('WP_DEBUG', true); в 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 работало для меня.
Джей
В моем случае эти значения не пустые. я должен изменить это со значением в api.wordpress.org/secret-key/1.1/salt ?
Сантоса Сэнди
Возможно, попробуйте очистить куки, восстановить ключи соли и войти снова.
Нико Прат
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 минут и эй presto, все снова заработало.

Подумал, что это может помочь кому-то другому полностью застрять после попытки любой другой предложенный вариант!

Аналитическое Креатив
источник
0

Просто прошел через то же самое. Не повезло с очисткой кэша, .htaccess, очисткой сеанса БД, отключением ftp плагинов и т. Д. Я смог войти в систему с Chrome инкогнито. После этого я все еще не мог нормально войти в систему. Только кеш браузера не работал, мне пришлось специально удалять все куки, связанные с доменом.

Настройки> Показать дополнительные настройки> Настройки контента>

В разделе «Настройки конфиденциальности» нажмите кнопку «Настройки контента».

В разделе «Файлы 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;

Надеюсь, это кому-то поможет, потому что поиск в Google мне не помог.

user2047710
источник
Поскольку до сегодняшнего дня все шло гладко, мне пришлось создавать новый блог в моей мультиустановке, а поскольку сценарию необходимо добавить пользователя и его пароль, потребовалось еще несколько комментариев, чтобы полностью исключить хеширование паролей. Просто чтобы вы знали.
user2047710
0

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

Вин Нвайкву
источник
0

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

Fix

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

Это может помочь другим.

Unicco
источник
0

Попробуйте удалить строку запроса в URL («?» И все, что за ней), то есть: посетите wp-login.php напрямую. Это сработало для меня. Я попытался изменить пароль, изменить соли, очистить meta_value для session_tokens в wp_usermeta. Ничего из этого не сработало.

Извините, я знаю, что это вам не поможет, так как вы говорите, что ваш экран wp-login.php белый, но он может помочь кому-то, как я, нарисоваться здесь под заголовком.

user63350
источник
0

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

Алон Гулдман
источник
-1

Это случилось со мной после того, как я изменил URL сайта , но я забыл изменить site_urlв wp_sitemeta. Затем я изменил значение на новый URL, и проблема решена.

Али Борсан
источник
-1

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

Kevin
источник
-2

моя ошибка произошла из-за директивы ниже в файле конфигурации nginx

location ~ \.php$ {

               #fastcgi_hide_header "Set-Cookie"; # Cache page with cookie 
mag8891
источник