【WP】リダイレクトされて管理画面にログインできない時の対処法

wordpressでリダイレクトされて管理画面にログインできない

今回は、クライアントから「WordPressの管理画面にログインできなくなった」と報告があり、対処に結構手こずってしまったので、その備忘録です。

状況

http://ドメイン名/wp/wp-adminからWordPressにログインしようとしたら、「http://ドメイン名/wp-login.php?redirect_to=http%3A%2F%2Fドメイン名%2Fwp%2Fwp-admin%2F&reauth=1」にリダイレクトされる
なお、ログイン情報は間違っていない

何をしてこのような状況になったか分かればまだ良いのですが、クライアントは「いじったんだろうが、何をしたか覚えていない」の一点張りでDreamWeaverをいじれると言っていた方だったので、問題の原因を絞りづらい感じでした(笑)

システムエラーに直面した際には可能性の高い不具合の原因を一つずつ調べて確認していく作業になります。

今回のような現象を調べてみると、エラーの原因となりそうなのは

  • ハッキングされてしまったのではないか
  • ログインの仕方が間違っているのではないか
  • .htaccess/index.php/wp-config.phpあたりの記述
  • テーマが壊れてしまったのではないか
  • 相性が悪いプラグインを使っていたのではないか
  • cookieのエラー
  • データベースの容量オーバー
  • サイトURLの設定変更

などがあることが分かりました。(システム開発の人間ではないので、こういうのが一番大変です)

因みに、FTPからファイルを見てみると、親階層に覚えのないWordPressがインストールされていたりもしていました。

対処するためにやったこと

結論から書くと、レンタルサーバーにログインしてphpMyAdminからuserテーブルを確認したところ、サイトURLが間違っており、それを直すことでログインが正常にできるようになりました。

同じような方がいるか分かりませんが、「WordPressの管理画面にログインできなくなった」際にはphpMyAdminからuserテーブルを先に確認してみると良いかもしれません。

1.重複したWordPressデータを削除

一応バックアップをとってなぜかインストールされていたWordPressのデータを削除しました。

これで治ったら良いなと思っていましたが、何も変化は起きませんでした。

結果:ログインできない状態が続く

2.ハッキングされたのか確認

パスワードなどセキュリティが弱い部分があったので一応コードを見たところ、ハッキングされた感じはしませんでした。まぁ、そうですよね。

結果:コードはどこも書き換わっていない

3.ログインの仕方を色々と試してみた

アカウントのユーザー名とパスワードを再確認して、いつもログインに利用している

  • http://ドメイン名/wp/wp-admin

から再度ログインを試してみました。

ログインできなかったので、以下のURLも試してみました。

  • http://ドメイン名/wp/wp-login.php
  • http://ドメイン名/wp-admin
  • http://ドメイン名/wp-login.php

結果:ログイン失敗

※人によっては、ログインURLをhttp://ドメイン名/(任意のフォルダ/)wp-login.phpにするだけで上手くいくようです。

4.wp-config.php/.htaccess/index.php/wp-login.phpあたりの記述を確認

ここが最も可能性が高いと思い、ログインに関わるファイルを一通り確認して、「もしかしたら…」という部分を一つずつ変更・確認・元に戻す作業をしていきました。

  • wp-config.php

サイトURLが書き換わってしまっている場合、wp-config.phpに

を記述することで、設定をリセットできるそうです。

また、サイトURLを直接記載する方法もあります。

これにより多くの方がログインできない状態から脱出できているようなので、必ず試してみてください。

※記述したコードは使い終わったら消すようにしましょう。

  • .htaccess

モジュールの設定をデフォルトに戻したりしてみました。(下記コードは/wpにWordPressをインストールしている場合とデフォルトコード)

index.php(テーマのではなく、WordPressをインストールしたフォルダ直下の)

問題がないか確認したところ、特に大丈夫そう。

  • wp-login.php

ログインの処理を行っているwp-login.phpを確認してみたところ、リダイレクト処理を行っているコードをみても不具合を起こしそうなコードは見つかりませんでした。

結果:何か変わったような気がしたが、ログインできない状態が続く...

ここからかなり面倒になってきました…(泣)

5.テーマが壊れてしまったのではないか

テーマが何かしらの理由で壊れてしまうことによりログインができなくなることもあるようです。

まぁ、ないだろうと思いつつ確認したところ、テーマは正常に機能していました。

結果:テーマは正常

6.相性が悪いプラグインを使っていたのではないか

プラグインがログインの邪魔をしていることもあるそうです。

FTPから[wp-content] > [plugins]のフォルダ名を一時的に変更し、新たに[plugins]フォルダを作成しました。 (これによりプラグインが強制的に全て停止状態になります。)

結果:プラグインは悪くない

7.cookieのエラー

ログインができなくなる原因として、クッキーが関わっていることがあるそうです。

一度該当するWordPressサイトのクッキーを削除、再度ログインを試してみることに…

結果:以前としてログインできず

8.データベースの容量オーバー

キャッシュ系のプラグインの暴走によってデータベースが圧迫され、ログインができなくなることがあるそうです。

なぜか一時的にレンタルサーバーのユーザーページにログインできなかったのでphpMyAdminの編集ができなかったのですが、再度試したらログインできたので、データベースの確認をしてみました。

結果:データベースの容量はガラガラで圧迫されている様子はなし

9.サイトURLの設定変更

phpMyAdminにアクセスできたので、optionsテーブルからuser情報を確認していきました。

すると、サイトURLが違ってるじゃないか…

これはwp-config.phpの編集によって直るはずのものだと思っていましたが、データベースから編集しないとダメなことがあるようです。

  • http://ドメイン名

となっていたサイトURLを

  • http://ドメイン名/wp

に変更してみたところ、http://ドメイン名/wp/wp-adminからログインが正常にできるようになりました。

結果:ログインができ、エラーがなくなった

まとめ

システム系の人間でないとわけのわからないエラーが起きた時にかなり苦労しますよね。エラー対処はできればやりたくない仕事ナンバー1です。(でもやらないといけない)

今後ログインエラーの際はphpMyAdminの確認を優先的にやろうと想いました。

同様のエラーが起きて悩んでいる方がいましたら、ぜひ参考にしてください。

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA