无法登录我的WordPress站点。reauth = 1重定向循环。有想法该怎么解决这个吗?


15

我在登录WordPress网站时遇到一些困难。当我尝试访问example.com/wp-admin时,我看到一个空白页,并且网址栏更改为:

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。
Wyck 2014年

您最后一次登录WP是什么时候?将wp-admin重定向到wp-login.php是正确的。您是否进行了更改,例如添加了插件?
user42826 2014年

几天前,我上次尝试登录即可。我确实安装了插件,但删除了它,问题仍然存在
user44754'1

检查您的htaccess,以确保它不易丢失。
MikeNGarrett 2014年

如果其他所有方法均失败,请在wp-config.php中启用调试define('WP_DEBUG', true);并访问wp-admin。您应该能够看到错误消息以及为何为空白。我的猜测是一个插件错误,如果它以前可以正常工作的话。
user42826 2014年

Answers:


10

遇到了同样的问题...清除cookie并不能解决问题。

诀窍是先通过隐身模式登录,然后我才能正常登录。


1
不知道为什么要拒​​绝投票...删除了session_token后,我也使用了隐身模式。我也需要清除Chrome缓存,但是隐身模式通过突出显示部分问题是浏览器来帮助解决了该问题。Chrome具有无情的缓存,通常是此类问题的中心。
2016年

赞成,对我有用。奇怪的。
IAmJulianAcosta '16

5

有很多可能的原因导致此问题。有些与您的数据库有关。尝试打开W​​P_DEBUG并解释错误消息。

就我自己而言(这就是我在这里偶然发现您的问题的方式),问题在于将会话令牌写入usermeta。我进入PhpMyAdmin> wp_usermeta>并删除了session_token的meta_value。(这里的详细故事https://wordpress.org/support/topic/possible-fix-for-sudden-redirect-loop-at-wp-login-with-reauth1


这与清除浏览器缓存一起应该是公认的答案。
2016年

我使用了这样的查询:“ 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

非常感谢!我在wordpress多站点设置中弄乱了我的主要站点URL。我只能以隐身模式登录-删除我网域的所有cookie并清理缓存无济于事。我删除了价值session_tokens的的wp_usermeta 表,并将其固定我的问题:)干得好,先生!
安德鲁

2

这可能是由于wordpress表崩溃引起的。设置define('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/(感谢Josh Rodgers)


不是类似随机密码的字符串... WordPress可以在这里为您重新生成该字符串:api.wordpress.org/secret-key/1.1/salt
Josh Rodgers

更改Wordpress Salts对我有用。
杰伊(Jay)2015年

就我而言,这些值不为空。我应该使用api.wordpress.org/secret-key/1.1/salt中的值更改它吗?
圣淘沙桑迪

也许,尝试清除您的Cookie,重新生成盐键,然后再次登录。
Nico Prat

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中

该网站告诉我数据库用户的权限问题...

对我有用的是恢复为根数据库用户(而不是权限较少的“ Web”用户)。

显然这不是一个长期的解决方案,但可以为您提供其他可能适合您的尝试。


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;

希望这对某人有帮助,因为谷歌搜索对我没有帮助。


到目前为止,由于一切工作进展顺利,因此我不得不在多安装环境中创建新博客,并且由于脚本需要添加用户和他的密码,因此需要进行更多注释才能完全消除密码哈希。只是让你知道。
user2047710


0

我通过使用https://而不是http://来访问我的网站来解决此问题,因此我没有获得任何重定向。 https://my_website.com/admin 您还可以通过cpanel中的phpmyadmin更改选项表中的“ siteurl”和“ home”值以指向https。我观察到这可能是ssl无法正确重定向的问题。


0

将网站从一台服务器迁移到另一台服务器后,我遇到了这个问题。将数据库导入新服务器后,我无法登录。在新服务器上,我还没有SSL保护站点的安全,因此我不得不更改siteurl和数据库中的主目录。

固定

  • 我通过转到数据库并从内部更改siteurl和home https://来修复它。http://wp_options

这可能会帮助其他人。


0

尝试删除URL(“?”及其后面的所有内容)中的查询字符串-即:直接访问wp-login.php。它为我工作。我尝试更改密码,更改盐,清除wp_usermeta中的session_tokens的meta_value。这些都不起作用。

抱歉,我知道这对您没有帮助,因为您说wp-login.php屏幕是白色的,但它可能会帮助像我这样的人被标题吸引到这里。


0

当我将网站升级到php v7.4时,这发生在我身上。降级到PHP 7.3解决了它。不幸的是,我不知道如何保留版本并解决问题。希望不久以后,WP开发人员将解决此问题。


-1

它发生在我身上后,我改变了网站的网址,但我忘了改site_urlwp_sitemeta。然后,我将值更改为新的URL,并解决了问题。


-1

我通过将wp-login.php文件替换为登录正常的另一个网站来解决了我的问题。


-2

我的错误是由于以下Nginx confing文件中的指令

location ~ \.php$ {

               #fastcgi_hide_header "Set-Cookie"; # Cache page with cookie 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.