403エラーはサーバーのエラー?
独自ドメインの設定を準備中。不必要なWordpressをインストールしてしまったりと、ファイルがごちゃごちゃになったので、サーバーのファイルを整頓中に突然のエラーが起きました。
500エラーなどは慣れたのでデータベースに入れば直せると心得たものの、403はあまり経験していなかったので、とても困りました。403エラーで多いのは、
- .htaccessの記述ミス
- ロリポップで特に多いWAFのせい
- アクセス制限
が多いようです。ただ、原因も多いので、どれという解決を導きにくいのも難点です。サーバーでのファイル削除をしていたので、サーバー負荷かと思って1日放置してみたものの、案の定、解決されませんでした。
流石に1日エラーだと、弱小サイトでも心配なので原因をしらみつぶすため403エラーの記事を総当たり。自分の覚書としてまとめます。
エラーになった状況
- サーバーのデータを削除した時、ページの更新が悪かったのかwp-contentの中を大まかに削除してしまった
- 大量に削除して一時503エラー
- データはPCにあるので、アップロードし直す
- オリジナルテーマのため、テーマが壊れたと表示される→index.phpとstyle.cssの場所で解決
- WAFは有効中
- WordPressの編集などは出来るが、ページを表示できない状態
といった状態でした。wp-content内削除はかなり痛手。関係ない/使っていないサブディレクトリのフォルダを整頓していたつもりだったのに、まさか本物データ。管理不足でした…。
また、ファイルを一度に整頓、特に重いプラグインファイルを操作したために503エラーに。自業自得です…。
レンタルサーバー内ときちんと同期できていないのも問題だったと思われます。
よくある原因から対処してみました。
.htaccess
触ってないし、リダイレクトを記述すると動くので問題はなさそうです。
WAFの無効化
これも無効化にしても変わらず。Wordpress自体にはアクセスができ、プラグインのインストールもできます。
原因はルートディレクトリのindex.php
原因はindex.phpを削除してしまっていたことでした。サイトURLはルートディレクトリに変更しており、そのために必要な、ルートディレクトリの.htaccessとindex.phpのセットのうち、index.phpがなくなっていたのです。というか、多分削除してしまったようでした。
そのため、関節的に(?).htaccessの影響が出たと思われます。ルートとサブ、両方に必要ということを、すっかり忘れてしまったための403エラーだった。
ルートとサブ両方に必要ではなく、ルートディレクトリのみでよかったのです。(上記のサイトでは、念の為?「コピー」して設置していたけれど、実際移動でもよかったです。)ドメイン変更時に、ルートとサブにある.htaccessとindex.phpが微妙に間違っていたことに気づき、整頓してみたら、サブには不要だとわかりました。
こういう意味でも、最初から独自ドメインで管理しておけばよかったなぁと、今更ながら思いました。
サイトURLを変更している場合は、必要ファイルの振り返りも必要です。1日ぶりに復旧して、歓喜。まだ不慣れだったので、ファイルの整頓、気をつけようと思います。
Comment