WordPressにアクセスできなくなる事象の経験談(htaccess勝手に変わる事件)

先日いきなりWordPressで運用しているウェブサイトへのアクセスができなくなりました。そのトラブルシューティングと調査の中から学んだことを記載していきたいと思います。

事象

以下のような事象が発生していました。

  • 管理画面にアクセスできない(404 Forbidden)
  • 記事が表示されない(403 Not Found)
  • ページが表示されない(403 Not Found)
  • トップページは表示される

原因

原因を先に述べますが、これが本当に直接的な原因だったか分かりません。

行ったことはhtaccessのファイル名を修正したことです。htaccessはhtaccessという拡張子の無名ファイルです。そのためサーバ上には「.htaccess」として保存される必要があります。

私の場合なぜかドットがない状態となっており修正したら事象解消に至りました。

これまで普通に運用していたのにドットが消えるのは正直謎です。

試したこと、プラグインの切り分け

プラグインの不備や脆弱性によってウェブサイトの表示を妨げる場合があるそうです。個々のプラグインのディレクトリの名前の頭にアンダスコアを入れるだけで起動されなくなるため、ひとつずつ無効化して悪いプラグインを探します。

試したこと、海外IPからの許可

お名前.comでは海外からの管理画面へのアクセスを禁止しており、許可する場合はhtaccessにコードを追加する必要があります。

<Files wp-login.php>
order allow,deny
allow from all
</Files>
<Files xmlrpc.php>
order allow,deny
allow from all
</Files> 

私の場合後述しますが、WordPressが自動で書き換えてしまう部分に記載してしまった、もしくは、WordPressの更新でhtaccessそのものが置き換わったことにより、海外からのアクセスができなくなりました。

※私はこの時アメリカにいました。

試したこと、PHPログの確認

php.iniの内容を一部変更することでPHPのログを出力できます。その出力されたログを解析して原因を探ります。

学んだこと、htaccessの内容は勝手に変わる

WordPressの更新などでhtaccessの内容の一部が勝手に(自動に?)更新されます。

中身を見るとここからここまでがWordPressの内容だよと言うシャープの間は勝手に変わるので、自身で追加したい場合は、シャープで囲われた部分の外に書く必要があります。

めっさん
  • めっさん
  • 当サイトの管理人。ニューヨークの大学を飛び級で卒業。その後日系企業でグローバル案件に携わる。大小様々な企業を転々としながら、マレーシアやアメリカへの赴任経験を持つ。バイリンガルITエンジニアとしていかに楽に稼ぐか日々考えている。年齢は秘密だけど定年も間近かな。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です