先日、WordPressの管理画面にログインしようとしたところ「404 Not Found」画面が表示されてしまいログイン画面にたどり着けない、という事象に遭遇しました。
数日前までは正常に表示できていたためこれにはビックリ。
結論からいうと、2022/09/03にアップデートしたプラグイン「All In One WP Security & Firewall」が原因でした。
最終的には再びログインできるようになったので、今回はどのように修正したのか共有したいと思います。
前提
本事象発生の前提条件として、All In One WP Security & Firewallプラグインは以下の状態になっていました。
- プラグインでログイン画面のURLを変更している
- プラグインのバージョンは5.0.3
補足すると、All In One WP Security & Firewallプラグインでログイン画面のURL変更は「WP セキュリティ」>「総当たり攻撃」にある「ログインページURL」で行うことができる設定です。
修正手順
今回は以下のように修正することで、ログイン画面が再度表示されるようになりました。
- プラグインを無効化する
- wp-login.phpを使ってログイン
- 1で変更したプラグインのフォルダ名を元に戻す
- プラグインの最新化
1つ1つ順に詳しく説明します。
1. プラグインを無効化する
All In One WP Security & Firewallプラグインのフォルダ名を一時的に変更することで、プラグインを無効化します。フォルダへのアクセスはレンタルサーバについているファイル管理ツールや、FTPを使ってください。
プラグインは下記の場所に格納されています。
<WordPressのインストールフォルダ>/wp-content/plugins
All In One WP Security & Firewallプラグインの場合のパス名は
<WordPressのインストールフォルダ>/wp-content/plugins/all-in-one-wp-security-and-firewall
となります。
この「all-in-one-wp-security-and-firewall」というフォルダ名を変更します。
今回はAll In One WP Security & Firewallプラグインのフォルダ名の末尾に「_(アンダースコア)」を追加しました。
2. wp-login.phpを使ってログイン
All In One WP Security & Firewallプラグインを無効化すると、wp-login.phpが使えるようになります。このwp-login.phpを使ってログイン画面を表示します。
ブラウザで以下のURLを入力するとログイン画面が表示されます。
https(またはhttp)://<WordPressのインストールフォルダ>/wp-login.php
例えば、WordPressをルートディレクトリ(ドメイン名直下)にインストールしている場合は、
https(またはhttp)://<ドメイン名>/wp-login.php
サブフォルダにインストールしている場合だと、
https(またはhttp)://<ドメイン名>/<サブフォルダ名>/wp-login.php
となります。サブフォルダ名は「wordpress」や「wp」などが使われていることが多いです。
ログイン画面が表示されたら、いつも使っているID、パスワードでログインしましょう。
3. プラグインのフォルダ名を戻す
WordPressの管理画面にログインできたら、1で変更したAll In One WP Security & Firewallプラグインのフォルダの名前を元に戻します。
4. プラグインを最新化する
All In One WP Security & Firewallプラグインを最新化しましょう。
今回は2022/09/08にリリースされた、バージョン5.0.7に更新しました。
All In One WP Security & Firewallプラグインのバージョンをあげることで、プラグインで変更したURLで再びログイン画面が表示できるようになりました。
最後に
今回はAll In One WP Security & Firewallプラグインによるログイン画面のエラーの事例をご紹介しました。
この事象がでたとき、何が原因かわからず5時間くらい格闘してしまいました。
正直なところ、最初は乗っ取りにあったのかとヒヤヒヤ。。。
本記事がどなたかのお役に立てれば幸いです。
と、同時にプラグインの最新版がでているからといって、気軽に更新してしまうと不具合が出た時に大変なことになると身をもって経験しました。
今後はアップデートの際には事前にバックアップを必ず取得しておこうと思います。
コメント