ブログ
8.302017
404エラー!WordPressにログインできない!解決方法
それは突然起こりました。
3日前までは正常にログインできていたWordPress管理画面に「404エラー」で入れなくなってしまったのです。
ここ数日間で2度目の顔面蒼白、心の中は「またか…」。
救いは、サイトは正常に表示できていること。
管理画面にだけ入れないのです。
それから3日かけて解決に至ったその経緯を備忘録として残しておきます。
404エラーが起こる前にも、「シンタックスエラー」「ログイン画面が出せないエラー」が起きていました。
このエラーと404エラーは全てつながっているため、コトの始まりから記載しています。
目次の該当するところから読むとてっとり早いですよ。
コトの始まりはプラグインの更新作業
シンタックスエラー
404エラーで、なぜ「またか…」と思ったかと言うと。
その日から遡ること3日前、別のエラーでサイトが表示されないという最悪の事態が起こっていました。
コトの始まりはプラグインの更新作業でした。
更新を行ったところシンタックスエラーとなりサイトが表示されなくなったのです。
すぐに別ブラウザでも試してみましたが、この1行のみが表示されるだけで、サイトが表示されません。
クライアントサイトなので顔面蒼白、このエラーで寿命が5年は縮みました。
まずは「深呼吸」
結構いろんなサイトに書かれているコレ。
これ、本当に大事。
別件ですが、過去にサイトリニューアル作業中トラブルが起き、パニックの挙句にバックアップを取らずに新サイトをフォルダごと消去してしまった私。
この助言は骨身にしみます。まずは落ち着きましょう!
該当プラグインを削除する
シンタックスエラーを見ると、プラグイン「wp-social-bookmarking-light」が原因のようなので、まずはプラグインを無効にします。
ログインできず管理画面からは操作できないので、この操作はFTPソフトを使います。
「plugins」フォルダを「p」に名前を変更、強制的にプラグインを無効にしたところ無事サイトは表示されるようになりました。
管理画面にもログインできるようになったのでプラグインを確認したところ、プラグインが見つからないという表示。
それはそうですよね。
その後、「plugins」フォルダの名前を元通りにしたら、プラグインは表示されましたが全て停止状態になっていました。
必要なプラグインは再度「設定」して動かし、該当の「wp-social-bookmarking-light」プラグインは必要がなかったので削除しました。
再度、サイトが正常に表示されているのを確認しこれにてシンタックスエラーの復旧は完了!
今度はログイン画面が出てこない!
と思ったら。
クライアントから「管理画面に入るログイン画面が出てこない」との連絡。
前の作業でプラグインを一旦止めて再設定した際に、どうやら別のセキュリテイプラグイン「SiteGuard」がログイン画面のURLを書き換えたようです。
「SiteGuard」が原因でした
「SiteGuard WP Plugin」は、管理ページとログインページの保護を主な目的とする、WordPress向けのシンプルなセキュリティプラグインです。
WordPressの管理画面は「http://サイトURL/wp-admin」のようなURLです。
サイトURLさえわかれば誰でもアクセスできてしまい、セキュリティ上不安が残ります。
でも「SiteGuard」を使うと、ログイン画面のURLを任意のURLに変更することができるのです。
シンプルかつ効果的なプラグインでお気に入りなのですが、この「SiteGuard」、一度プラグインを止めて再度起動させた時にログイン画面のURLを書き換えてしまうようです。
「SiteGuard」で設定したログイン画面のURLを使わずにログイン画面を出すには、次の3つのうちどれかでログインを試します。
・https://サイトURL/wp-admin/
・https://サイトURL/wp-login.php
・https://サイトURL/wp/wp-login.php
この中の一つで無事ログインすることができ、「SiteGuard」の管理画面で新しいログイン画面URLを確認します。
管理画面での確認方法はこのサイトに詳しく載っていました。
この件に関しては、次のサイトも参考になりました。
数日後、404エラーで管理画面にログインできない!
3日経って、再度管理画面にログインしようとしたところ、「404エラー」で入れなくなっている!
ログイン画面までは出るけど、正しいユーザー名とパスワードを入れると、次の画面で「404エラー」。
先日、「SiteGuard」で設定したログイン画面のURLを使わずにログインすることができた
・https://サイトURL/wp-admin/
・https://サイトURL/wp-login.php
・https://サイトURL/wp/wp-login.php
このURLでも試しましたが依然「404エラー」。
次のことを順次試しました。
「plugins」フォルダをリネーム
3日前と同じように、「plugins」フォルダを「p」にリネームしても「404エラー」。
次。
「SiteGuard」フォルダを削除
「plugins」フォルダの名前を元通りにしたのち、「SiteGuard」フォルダを削除しても「404エラー」。
「SiteGuard」フォルダを削除したのに「SiteGuard」が絡むエラーになるってどういうこと?
どっかに記載が残っている?
ということは「.htaccess」ファイルが怪しい・・・。次行ってみよ〜!
「.htaccess」ファイルを確認
「.htaccess」ファイルに記述されている「site guard」のコードを消去することで「404エラー」が回避されるらしいので、それを試します。
が、しかし。
「.htaccess」の記述を確認しましたが、5行のみ
# BEGIN WordPress
# END WordPress
だけしか記載がありませんでした。
原因は絶対これだ!と思っていたのですがハズレ。イヤな予感。
ブラウザのキャッシュクリア
ブラウザ(chorme)のキャッシュクリアをしても「404エラー」。
chrome、Firefox、safariと3つのブラウザで試しましたが「404エラー」でした。
(泣)
WAFを無効にする
このWAFを導入しているレンタルサーバ会社がいくつかあり、さくらインターネットもWAFを導入しています。(その他にもロリポップなどが導入しています)
問題のサイトはさくらインターネットを利用していて「WAFを無効にしてみるともしかしたら直るかも?」と、ある人から教えてもらったので早速試してみることに。
さくらインターネットの管理画面から確認します。
きっとコレでエラーが解消されるに違いない!と、WAFの設定を確認したところ・・・
WAFは「利用しない」になっていました(T ^ T)ぐすん
しかし、ここで新たなことが判明!
他の人に試してもらったところ、ちゃんとログインし管理画面に入れるそうなのです。
ということは、私の環境でログインしようとすると「404エラー」ということに。
そうすると、対処法もだいぶ狭まってきますね!
別のデバイスを試す
別のデバイスではどうだろうかとiPhone、iPadproでも試してみましたが同じく「404エラー」。
ということは・・・。
私のネットワークでは入れないんじゃないか?(IPアドレスでブロックとかそういう系)と思い至りました。
それならやっぱり・・・・、
.htaccessをもう一度確認!【原因はコレ】
原因は.htaccessファイルなんじゃないだろうか・・・?
しかし、何ども.htaccessファイルを開いてみるのですが、相変わらず5行のみの記載、
# BEGIN WordPress
# END WordPress
これだけです。
それでまたファイルを閉じて、もう一度.htaccessファイルを開いてみると、な、な、なんと!!!
site guardの記載が現れました!
.htaccessに記載されている
#SITEGUARD_PLUGIN_SETTINGS_START
から
#SITEGUARD_PLUGIN_SETTINGS_END
までのブロックを削除したところ、無事ログインすることができました!
なんで突然表示されたかはナゾ・・・・。
今回の教訓