自分のWordPressウェブサイトにアクセスしようとする際に、「禁止されている」、またはアクセス権限がないと表示されたことはありませんか。あれば、おそらくWordPressの「403 Forbidden」(禁止されている)エラーが発生したでしょう。

WordPressウェブサイトのエラーが発生すると、イライラしますね。「403 Forbidden」エラーをできる限り早く処理し、ウェブサイトが再度正常に機能するようになるように、本記事の詳細なガイドをご用意しております。

さて、あなたも早速処理に取り掛かりたいと思いますので、さっさと本題に入ります。

「403 Forbidden」エラーとは?

What the 403 Forbidden Error looks like at Kinsta

「403 Forbidden」エラー表示

よく発生するWordPressエラーの多くと同様に、「403 Forbidden」エラーもウェブサーバーとウェブブラウザー間の通信用のHTTPステータスコードです。

HTTPステータスコードの簡単な説明:ブラウザーを使用してウェブサイトにアクセスする度に、ウェブサーバーはHTTPヘッダーというもので応答します。通常は、すべてが正常に機能しているため、この処理は舞台裏で起こります(ご参考までですが、200というステータスコードです)。

ただし、問題が発生した場合には、サーバーは番号付きのHTTPステータスコードを返します。これらの番号は確かにいらいらしますが、実はウェブサイトで発生する異常の原因を特定するに便利である為、非常に重要な番号なんです。

「403 Forbidden」エラーは、ウェブサーバがクライアント(すなわちブラウザー)のリクエストを受けたが、処理しない意味です。

分かりやすく言うと、サーバーがリクエストを正常に理解しましたが、リクエストをした人がアクセス権限がない為、処理しません。まるで、私的な催しに参加しようとしているときに、名前がゲストリストに載っていないことがわかるようです。

ステータスコードの意味はそれぞれ異なります。当社のブログでは次の詳細な記事があります:「404 お探しのページは見つかりませんでした」「500 内部サーバエラー」「502 不正なゲートウェイ」、と「504 ゲートウェイタイムアウト」

「403 Forbidden」エラーの原因について

WordPressの「403 Forbidden」エラーを起こす最もよくある原因は:

  1. .htaccessファイルの異常
  2. ファイルアクセス権の異常

ウェブサイトで使用しているプラグインの問題のために、本エラーが発生している可能性もあります。本記事では、考えられるすべての原因とそのトラブルシューティングについて説明します。

「403 Forbidden」エラー403 Forbidden の種類

HTTPステータスコードの多くと同様に、本エラーコードにもさまざまなバリエーションがあります。

ウェブ上で見かけることのできる種類の例をいくつか挙げます:

  • “Forbidden – You don’t have permission to access / on this server”
  • “403 – Forbidden: Access is denied”
  • “Error 403 – Forbidden”
  • “403 – Forbidden Error – You are not allowed to access this address”
  • “403 Forbidden – nginx”
  • “HTTP Error 403 – Forbidden – You do not have permission to access the document or program you requested”
  • “403 Forbidden – Access to this resource on the server is denied”
  • “403.That’s an error.Your client does not have permission to get URL / from this server”
  • “You are not authorized to view this page”

簡単に言うと、「禁止」(英語:”forbidden” )または「アクセスが権限がない」(英語:”not allowed to access”)というメッセージの場合には、おそらく「403 Forbidden」エラーが発生していると考えられます。

「403 Forbidden」エラーの処理方法について

WordPressウェブサイトの「403 Forbidden」エラーの処理方法については5種類のトラブルシューティング手順を詳しく説明します。

ファイルアクセス権(パーミッション)

WordPressウェブサイトのサーバー上の各フォルダとファイルには、次の行動ができるユーザーを決める、独自のファイルアクセスアクセス権(パーミッション)があります:

  • Read(読み込みを許可):ファイルのデータまたはフォルダの内容を確認できます。
  • Write(書き込みを許可):ファイルを変更すること、ファイルを追加すること、または削除することができます。
  • Execute(実行を許可):ファイルの実行、スクリプトとしての実行、フォルダにアクセスして関数及びコマンドの実行ができます。

パーミッションは3桁の数字であり、各桁は上記の3つのカテゴリーのそれぞれに対するアクセス権のレベルを示します。

通常だと、これらのパーミッションは正常に機能しているため、触る必要はありません。しかし、WordPressウェブサイトのファイルアクセス権が誤って変更されてしまう場合には、「403 Forbidden」エラーが発生することがあります。

ウェブサイトのファイルアクセス権を確認または変更するには、FTP/SFTP経由で接続する必要があります。Kinstaのお客様は、SFTPの使用について、こちらの説明資料をご参照ください

以下のチュートリアルのスクリーンショットでは、無料のFileZilla FTP programプログラムを使用します。手順の考え方はどのFTPプログラムでも同じですが、インターフェースに適用する必要があります。

サーバーに接続した上で、ファイルまたはフォルダのアクセス権(パーミッション)を確認するには右クリックします。

FileZillaでファイルのアクセス権を確認する

FileZillaでファイルのアクセス権を確認する

もちろん、各ファイルまたはフォルダのアクセス権を手動で確認することは、あり得ない話です。むしろ、フォルダ内のすべてのファイルまたはフォルダのアクセス権を自動的に変更できます。

WordPress Codexによると、WordPressのファイルパーミッションの理想的な設定は次のとおりです:

  • ファイル:644または640
  • ディレクトリ:755または750

wp-config.phpファイルは例外で、440または400でなければなりません。

パーミッションを設定するには、WordPressウェブサイト全体を含むフォルダを右クリックします。(Kinstaではpublicというフォルダです。)次に、「File Attributes」(ファイルの属性)を選択します。

FileZillaにてのファイルパーミッションの一括変更

FileZillaにてのファイルパーミッションの一括変更

Numeric value」(数値ボックス)に755または750を入力します。次に「Recurse into subdirectories」(サブディレクトリに再帰)→「Apply to directories only」(ディレクトリにのみ適用)を選択します:

WordPressディレクトリのファイルパーミッション

WordPressディレクトリのファイルパーミッション

ディレクトリのアクセス権を変更した後に、ファイルに対しても同じ手順を繰り返します。変更点は:

  • Numeric value」(数値ボックス)に644または640を入力します。
  • Recurse into subdirectories」(サブディレクトリに再帰)を選択します。
  • Apply to files only」(ファイルにのみ適用)を選択します。
WordPressファイルのファイルパーミッション

WordPressファイルのファイルパーミッション

プロセスを終了するには、wp-config.phpファイルのアクセス権を手動で調整し、440または400にするだけです。

wp-config.phpファイルのファイルパーミッション

wp-config.phpファイルのファイルパーミッション

「403 Forbidden」エラーの真の原因はファイルのアクセス権である場合には、これでウェブサイトが正常に機能するはずです。

.htaccessファイル

KinstaはNGINXウェブサーバーを使用している為、Kinstaをご利用のウェブサイトには.htaccessファイルはありません。したがって、Kinstaのお客様はこの原因を考慮しなくても構いません。

一方、他のホスティング会社をご利用の場合、そのホスティング会社がApacheウェブサーバーを使用していると、「403 Forbidden」エラーの考えられる原因の一つは、ウェブサイトの.htaccessァイルの異常です。

.htaccessファイルは、Apacheウェブサーバーで使用される基本設定ファイルです。リダイレクトを設定する、ウェブサイトへのアクセスまたはその一部へのアクセスを制限するなどに便利です。

非常に協力なファイルである為、ほんの少しの誤りでも「403 Forbidden」エラー等の重要な異常が発生します。

そこで、既存の.htaccessファイルを処理するよりも、新しくてクリーンな.htaccessファイルをWordPressに生成させたほうがしやすいです。

上記を行うのに:

  • FTPでサーバーに接続します。
  • ルートフォルダにある.htaccessファイルを探します。
  • ファイルのコピーをコンピュータにダウンロードします(万が一のためにバックアップを作成します)。
  • コンピュータにバックアップを作成した上で、サーバーから.htaccessファイルを削除します。
.htaccessファイルを削除する

.htaccessファイルを削除する

異常の原因は.htaccessファイルであった場合には、これでWordPressウェブサイトへのアクセスができるようになったはずです。

新しくてクリーンな.htaccessファイルをWordPressに生成させるには:

  • WordPressダッシュボードの「設定」→「パーマリンク設定」にアクセスします。
  • ページ下部にある「変更を保存」をクリックします。(実際に変更を行う必要はありません。ボタンをクリックするだけです。)
新しくてクリーンな.htaccessファイルの生成

新しくてクリーンな.htaccessファイルの生成

以上です。これでWordPressが新しい.htaccessファイルを生成します。

ダウンタイムまたはWordPressの異常に悩んでいますか。Kinstaは時間を節約するために設計されたホスティングソリューションです!当社のフィーチャーをご確認ください。

プラグインを無効にし、再度有効にする

異常の原因はウェブサイトのファイルアクセス権でも.htaccessファイルでもない場合には、次に確認するべきなのはプラグインです。プラグインのバグ、2つ以上のプラグイン間の互換性異常などが考えられます。

その原因がなんであれ、異常のあるプラグインを特定する最もしやすい方法は試行錯誤手法です。具体的には、すべてのプラグインを無効にしてから、原因が特定できるまでプラグインを一つずつ再度有効にします。

WordPressのダッシュボードにアクセスできる場合は、「プラグイン」メニューを使用きます。

WordPressダッシュボードにアクセスできない場合は、代わりにFTP/SFTP経由でWordPressウェブサイトのサーバーに接続する必要があります。(KinstaのサーバーへのSFTP接続についてはこちらをご参照ください。

FTPでサーバーに接続した上で:

  1. wp-contentフォルダにアクセスします。
  2. wp-contentフォルダー内のpluginsフォルダーを探します。
  3. pluginsフォルダを右クリックし「Rename」(名前を付けて保存)を選択します。
  4. フォルダの名前を変えます。どの名前でもいいですが、plugins-disabledなどの覚えやすいものを推奨します。
プラグインフォルダの名前を変更する

プラグインフォルダの名前を変更する

フォルダの名前を変更すると、ウェブサイトのすべてのプラグインが無効になります。

そこで、再度ウェブサイトにアクセスしてみましょう。ウェブサイトが機能している場合には、「403 Forbidden」エラーの原因はプラグインであることが分かりました。

異常の原因となっているプラグインを特定するには、プラグインを一つずつ再度有効にします。

pluginsフォルダのファイル名を変更した後にウェブサイトの「プラグイン」メニューにアクセスする際に「プラグインファイルが存在しません」と表示されるはずです:

pluginsフォルダのファイル名を変更した後

pluginsフォルダのファイル名を変更した後

異常を処理しプラグインを再度管理できるには、FTPプログラムを使用してフォルダの名前をpluginsに戻します。例えば、plugins-disabledという名前に変更した場合は、単にpluginsに戻すだけです。

そうすると、プラグインは再度表示されるようになります。ただし、すべては無効になっています:

プラグインを一すづつ有効にする

プラグインを一つずつ有効にする

有効化」ボタンを使用して、プラグインを一つずつ再度有効にします。

異常の原因となっているプラグインが特定できたら、そのプラグインの開発者に連絡するか、同様な機能のある別のプラグインを選択します。(最高のWordPressプラグインについてはこちらの記事をご参照ください。)

4. CDNを一時的に無効にする

アセット(画像、JavaScript、CSS)の403エラーが発生する場合は、コンテンツ配信ネットワーク(CDN)の異常が発生したことがあります。この場合は、CDNを一時的に無効にし、ウェブサイトが機能しているかを確認した方が良いでしょう。Kinstaのお客様は、サイトをクリックし、「CDN」タブをクリックしてください。次に「CDNを無効にする」ボタンをクリックします。

CDNを無効にする

CDNを無効にする

ホットリンクとは、自分のウェブサイトに画像を追加したときにそのリンクが他人のウェブサイトを指していることです。これを防ぐには、WordPressのホスティング会社またはCDNプロバイダに「ホットリンク保護」というものを設定してもらうことができます。
ホットリンク保護が有効になっていると、「403 Forbidden」エラーが発生するのは正常です。 ただし、「403 Forbidden」エラーが発生すべきでないページでも発生している場合は、ホットリンク保護が正しく設定されているかを確認してください。

これでも問題が解決されない場合は、ホスティング会社まで問い合わせる

上記のいずれも解決にならない場合は、ご利用のホスティング会社までお問い合わせください。真の原因を特定し、問題を解決できるのはやはりホスティング会社です。Kinstaのお客様は、サポートチケットをお開きください。24時間365日対応いたします。

まとめ

「403 Forbidden」エラーが発生すると、サーバーが機能していても、何らかの理由でウェブサイト全体または一部へのアクセスは不可能になります。

本エラーの最も可能性の高い二つの原因は、WordPressウェブサイトのファイルアクセス権(パーミッション)または.htaccessファイルの異常です。それ以外には、プラグインの異常により「403 Forbidden」エラーが発生する場合もあります。

上記の手順に従って、ウェブサイトをすぐに元の状態に戻すことができるはずです。

8
シェア