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をクリアします。
ウィック14年

WPに最後にログインできたのはいつですか?wp-login.phpにリダイレクトするwp-adminは正しいです。プラグインを追加するなど、何か変更しましたか?
user42826 14年

数日前に試したときに前回ログインできました。私は、プラグインをインストールしましたが、私はそれと問題が持続を削除
user44754

htaccessをチェックして、不安定でないことを確認してください。
MikeNGarrett 14年

他のすべてが失敗した場合、wp-config.phpでデバッグを有効にし、define('WP_DEBUG', true);wp-adminにアクセスします。エラーメッセージと、それが空白である理由を確認できるはずです。以前に動作していた場合、私の推測はプラグインエラーです。
user42826 14年

回答:


10

同じ問題があった...クッキーをクリアしてもうまくいかなかった。

秘didは、最初にシークレットモードでログインしてから、通常どおりログインできるようにしたことです。


1
なぜこれがダウン投票されたのかわからない... session_tokenを削除した後、シークレットモードも使用しました。クロムキャッシュもクリアする必要がありますが、シークレットは問題の一部をブラウザにハイライト表示することで問題の解決に役立ちました。Chromeには冷酷なキャッシュがあり、多くの場合、このような問題の中心にあります。
ティシュ

賛成、それは私のために働いた。奇妙な。
IAmJulianAcosta

5

この問題には多くの原因が考えられます。一部はデータベースに関係しています。WP_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


これは、ブラウザーのキャッシュをクリアすることと一緒に受け入れられる答えです。
ティッシュ

次のようなクエリを使用しました `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を台無しにしました。シークレットモードでしかログインできませんでした。ドメインのすべてのCookieを削除してキャッシュを消去しても解決しませんでした。私session_tokenswp_usermeta テーブルの値を削除し、問題を修正しました:)よくやった!
アンドリュー

2

これは、ワードプレステーブルのクラッシュが原因である可能性があります。設定する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
ジョシュ・ロジャース

Wordpress Saltsを変更することは私のために働いた。
ジェイ

私の場合、これらの値は空ではありません。api.wordpress.org/secret-key/1.1/saltの値で変更する必要がありますか?
サントササンディ

たぶん、あなたのクッキーをクリアし、ソルトキーを再生成し、再度ログインしてみてください。
ニコ・プラット

1

からhttp://mysiteへの転送がある場合http://mysite/、これは必ず発生します。私の場合、複数の仮想ホストを持つ管理用のhttpdプロセスが実行されています。1つはこのように構成されました:

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

変更"/blog""/blog/"て問題を修正します。


0

私もこの問題を抱えていましたが、別のメッセージがありました。htaccess、プラグインの名前変更、テーマの名前変更、wp-config.phpの空白の確認など、無数の修正を行った後、私はまだ行き詰っていました。

PHPMyAdminへのログインテーブルを最適化しようとしましたが、エラーが拒否されました。データベース自体が大きすぎて、共有ホスティングによって「ブロック」されたことが判明しました。主犯人(Wordfenceログテーブル)を見つけた後、私はそれを切り捨て、30分待って、それがすべてうまくいったことを確認しました。

これは、他の提案されたオプションをすべて試した後、他の誰かが完全に立ち往生するのを助けるかもしれないと思った!


0

ちょうど同じことを経験しました。キャッシュのクリア、.htaccess、DBセッションのクリア、ftpによるプラグインの無効化などの運はありません。Chromeシークレットモードでログインできました。その後、私はまだ正常にログインできませんでした。ブラウザーのキャッシュだけでは機能せず、ドメインに関連するすべてのCookieを明確に削除する必要がありました。

設定>詳細設定を表示>コンテンツ設定>

[プライバシー設定]で、[コンテンツ設定]ボタンをクリックします

Cookiesの下で、「All Cookies and Site Data」ボタンをクリックします

次に、検索ボックスのキーワードでWebサイトを検索します。Webサイトを強調表示して、キーボードの[削除]をクリックします。

[完了]をクリックして、サイトへのログインを再度試みます(通常モードで..ウィンドウを閉じることでシークレットモードを終了します)

別のタブで既にサイトを開いている場合は、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. DBで、管理者パスワードをプレーンテキストパスワードに編集しました。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

これを修正するには、http://の代わりにhttps://を使用してWebサイトにアクセスし、リダイレクトを取得しませんでした。 https://my_website.com/admin また、cpanelのphpmyadminを使用して、httpsを指すようにオプションテーブルの「siteurl」および「home」の値を変更することもできます。これは、sslが適切にリダイレクトされないという問題である可能性があることに注目しています。


0

あるサーバーから別のサーバーにサイトを移行した後、この問題を経験しました。データベースを新しいサーバーにインポートした後、ログインできませんでした。新しいサーバーでは、サイトをまだSSLで保護していなかったため、データベースのsiteurlとhomeを変更する必要がありました。

修正する

  • データベースに移動し、siteurlとhomeをinからhttps://toに変更して修正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

私はサイトのURLを変更した後、私に起こりましたが、で変更するのを忘れましsite_urlwp_sitemeta。次に、値を新しいURLに変更し、問題を解決しました。


-1

wp-login.phpファイルを、ログインが機能している別のWebサイトの1つに置き換えることで、問題を修正しました。


-2

私のエラーはnginx confingファイルの以下のディレクティブによるものでした

location ~ \.php$ {

               #fastcgi_hide_header "Set-Cookie"; # Cache page with cookie 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.