403エラー⁉サイトが突然表示できなくなったときの解決法
- 2021-09-20
- WordPress
Webサイトにはトラブルがつきもの。
カスタマイズしたら突然見れなくなり、困ってしまった…。そんな経験ありませんか?
そんなときは、以下の8つ解決法を試してみましょう。
1.403エラーとは何か?
閲覧権限の問題
403エラー、つまり“403 Forbidden”とは、サイトの閲覧が禁止された状態のエラーを意味します。
これはインターネット番号割当機関のIANAが管理しているコードであり、何らかの原因で閲覧禁止となったときに表示されます。
特にサイトのカスタマイズ時にこのエラーが表示された場合、訪れるユーザーの減少につながってしまいます。
このため、サイトの素早い復旧が大切となります。
管理者も追い出す403エラー
403エラーはサイトのカスタマイズ設定時に突然起きます。
functions.phpやフロントエンドを設定してサイトを見ようとしたら、画面が突然真っ青になる。
しかも、何も表示しない…といった感じになります。
ひどい場合はログインができず、「技術的な問題」の連絡メールも来ない。さらにはサイトを初期化してもエラーが消えない。もう、どうして良いかわからない…
こんな具合になり、ショックで自分の顔まで真っ青になります。
しかし、心配は無用です。
次の8つの解決法を一つずつ試してみれば大丈夫です。
2.チェックしよう!8つの原因と解決法
403エラーはアクセス制限設定やパーミッション、htaccessの記述など様々な原因が挙げられます。
例として、ここではXSERVERでエラーの原因と解決法を解説します。
原因1 アクセス制限設定がかかっている
XSERVERでは、管理者以外の人がサイト閲覧をできないようにする「アクセス制限」の設定があります。
これは、サイトのメンテナンスやカスタマイズ時に行いますが、ユーザーはサイトを見れない一方で、管理者は見ることができるので、つい設定解除を忘れてしまうことがあります。
このため、XSERVERでアクセス拒否設定をしたまま忘れていた…ということがよくあります。
一度、アクセス制限がかかっていないか確認してみましょう。
解決法1
①XSERVERのサーバーパネルにアクセス
②アクセス制限をクリック
③対象のURLをクリック
④現在のフォルダ、またはwp-contentでアクセス制限が「ON」になっていないか確認
⑤ONになっていればOFFにして「設定する」をクリック
原因2 .htaccessに問題がある
WordPressのセキュリティプラグインを使っていると、.htaccessにコードが自動的に記述されていき、どんどん複雑怪奇になっていきます。
もし、.htaccessがよくわからないコードだらけになっていたら一度初期化してみましょう。
.htaccessの初期化は様々な方法がありますが、サイトにきちんと反映させるには、XSERVERのファイルマネージャーでの修正が最も有効です。
解決法2
①XSERVERアカウントでログイン
②ファイル管理をクリック
③対象のURL > public_htmlをクリック
④.htaccessを選択し、メニューバーの「編集」をクリック
⑤.htaccessの初期コードをコピー&ペースト
原因3 WAF設定の問題
WAF(Web Application Firewall)とは、WebアプリケーションやWebサーバへの不正アクセスを防ぐファイアウォールの一種です。
しかし、そのWAF自体が問題を起こすことがよくあります。WordPressでは、使用するテーマによってWAF設定でサイトが見れなくなるときがあります。
実際、筆者もトラブルに巻き込まれて苦労しました。
そんなときは以下の方法を試してみましょう。
解決法3
①XSERVERのサーバーパネルにアクセス
②WAF設定をクリック
③対象のURLをクリック
④XSS対策、SQL対策、ファイル対策、メール対策、コマンド対策、PHP対策をOFF
一つずつOFFにして、原因を確かめます
⑤確認画面へ進む > 設定する を選択
⑥「反映待ち」が消えたらサイトを確かめます。
ON⇔OFFの変更の反映は1時間ほどかかります。
原因4 ファイルのパーミッション設定の誤り
パーミッションはファイルの権限を示します。WordPressでは、PHPファイルに規定のパーミッションをつける必要があります。
ところが、まれに何かの拍子で間違って設定されることがあります。
そこで、設定に間違いがないか確かめてみましょう。
解決法4
FTPでパーミッションを調査します
原因5 index.php(index.html)があるべき場所にない
まれに起きる問題として、index.phpやindex.htmlが存在していないこともあります。
WordPressでは本来、index.phpが標準として設定されており、ホームやサイトデザイン設定として利用されます。
ところが、ファイルが消えてしまうとエラーになってしまいます。
そこで、以下の方法で確認してみましょう。
解決法5
①XSERVERアカウントでログイン
②ファイル管理をクリック
③対象のURL > public_html >wp-adminをクリック
④index.php(index.html)があるかチェック
原因6 public_htmlが削除されている
これは、まれに起きる問題ですが、一応確認してみましょう。
public_htmlが削除されている場合、サイトが見れなくなります。この場合、public_htmlの復元が必要です。
解決法6
public_htmlの復元にはバックアップを使う以外ありません。
しかしバックアップがない場合、サイトを初期化して再度作り直す必要があります。
ご注意ください。
原因7 DNS設定に間違いがある
サイト引っ越し時など、設定の初期段階でよく起きる問題です。
DNSはDomain Mail Systemの略であり、ドメイン(〇〇.comなど)とIPアドレスを関連付ける仕組みです。
これが正常に設定されていないと、サイトが表示されない、メールの送受信ができないなどの問題が起きます。
解決法7
XSERVERではDNS設定の方法が説明されています。DNSの設定に間違いがないか確認してみましょう。
原因8 サーバーの利用期限が過ぎている
レンタルサーバーを利用している場合、期限を過ぎても未払いのままだと、強制的に利用停止になってしまいます。
例えば、XSERVERではサーバーの利用期限が定められています。
それまでに支払いがないとサーバーが凍結されて、サイトにアクセスすることができません。
支払いを「手動更新」にしている方は、一度利用期限が過ぎていないか確かめてみましょう。
解決法8
①XSERVERアカウントでログイン
②サーバー欄の「利用期限」をチェック。期限が過ぎている場合、XSERVERへ連絡しましょう。
3.まとめ
今回は、403エラーの解決法について紹介しました。
身近に見る画面ですが、いざという時に慌ててしまうことも多いものです。
しかし、8つの解決法を理解しておけば、サイトの深刻なトラブルも回避することができます。
トラブル対策は地味な作業ですが、対処法を知って、トラブル時も落ち着いて対応できるようにしましょう。