WordPressで「403 Forbidden」と出る時の原因と直し方

目次
  1. 403は、サーバーが「見せられない」と断っている状態
  2. サイト全体が403なら、.htaccessやサーバーのアクセス制限を疑う
    1. .htaccessに、許可するIPアドレスの行がないか見る
    2. 足した行を消せば、すぐに表示が戻る
  3. 画像など特定のファイルだけ403なら、フォルダのパーミッションを確かめる
    1. パーミッションは、フォルダ755・ファイル644が基本
    2. 755に戻すと、画像がまた表示される
    3. フォルダのURLを開いて403になるのは、正常な動き
  4. 記事を保存した時だけ403なら、サーバーのWAFを疑う
  5. 直し方のまとめ
  6. 次から防ぐには、.htaccessを変える前にコピーを取っておく

サイトを開いたら、英語で「403 Forbidden」の1行だけ。管理画面を開いても同じ…。急にいつものページが急に見られなくなると、焦るかなと思います。

この「403 Forbidden」は、サーバーが「このページは見せられません」と断っている時の表示です。

原因として多いのは、.htaccessに書いたアクセスの制限です。ほかにも、サーバー会社のWAFや、フォルダやファイルのパーミッションで止まっていることもあります。今回は、どこで止められているかの見分け方と、直し方を確認していきましょう。

403は、サーバーが「見せられない」と断っている状態

403になると、WordPressの画面はまったく出ません。サーバーの標準の画面だと、次のような表示になります。

白い画面に「Forbidden」「You don't have permission to access this resource.」

※ 見た目はサーバー会社によって違います。

WordPressより手前の、サーバーのところで止められているということですね。なので、WordPressの設定より先に、サーバーの中のファイルを確かめていきます。

見分けるコツは、「どこが403になっているか」です。

どこが403か疑うところ
サイト全体・管理画面も.htaccessやサーバーのアクセス制限
画像など特定のファイルだけフォルダやファイルのパーミッション
記事を保存した時だけサーバー会社のWAF(サーバー側のセキュリティ機能)

サイト全体が403なら、.htaccessやサーバーのアクセス制限を疑う

ここから先は、サーバーの中のファイルを直接さわる作業です。サーバー会社の管理画面やFTPソフトを使ったことがない方は、サイトを作った会社に頼んだほうが早いかと思います。その時は「サイト全体が403 Forbiddenになった」「いつから・直前に何をしたか」を伝えると、話が早く進むはずです。

.htaccessに、許可するIPアドレスの行がないか見る

.htaccessは、WordPressが入っている一番上のフォルダにあるファイルです。サーバーのファイルマネージャーやFTPソフトで開いて、中身を見てみましょう。

管理画面を守るために「事務所のIPアドレスだけ許可する」ような行を足していると、それ以外の場所からはサイト全体が403になります。

.htaccessの中身。WordPressの記述の上に「deny from all」「allow from 203.0.113.10」などの4行がある

こういった行があると、次のような時に急に403になります。

  • インターネットの回線を変えて、事務所のIPアドレスが変わった
  • 自宅や外出先など、別の場所から開いた

足した行を消せば、すぐに表示が戻る

直し方は、足した行を消して、WordPressの元の記述だけに戻すことです。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

保存してサイトを開き直してみましょう。すると、すぐにいつもの表示に戻るはずです!

※ さわる前に、今の.htaccessを必ず手元にコピーしておいてください。ほかの設定(転送やBasic認証など)が書かれていることもあるので、消すのは自分で足した覚えのある行だけにします。

なお、IPアドレスの制限は、サーバー会社の管理画面からかけていることもあります。この場合は.htaccessに何も出てこないので、ファイルを見ても見つかりません。.htaccessに覚えのある行が無ければ、管理画面の「アクセス制限」という項目も見てみてください。

画像など特定のファイルだけ403なら、フォルダのパーミッションを確かめる

ページは開けるのに、画像だけが出ない。あまり多くはないかもしれませんが、画像など特定のファイルだけが開けない時は、そのファイルやフォルダのパーミッションを疑ってみるといいかもしれません。

ページの中の画像が、壊れたアイコンと「会社の外観」という文字だけになっている

画像のURLを直接開くと、403になっています。

画像のURLを開いた画面。「You don't have permission to access this resource.Server unable to read htaccess file, denying access to be safe」

パーミッションは、フォルダ755・ファイル644が基本

パーミッションは、ファイルやフォルダを「だれが読めるか・書けるか」の設定で、3けたの数字で表します。サーバーのファイルマネージャーやFTPソフトの一覧で見られます。

フォルダ「10」のパーミッションが「000」になっている一覧

WordPressでは、一般的に次の値が基本です。

種類パーミッション
フォルダ755
ファイル644

※ サーバー会社によっては、別の値をすすめていることもあります。その時はサーバー会社の案内に合わせてください。

755に戻すと、画像がまた表示される

フォルダのパーミッションを755に戻します。

フォルダ「10」のパーミッションが「755」に戻っている一覧

ページを開き直すと、画像が表示されるはずです!

ページの中の画像が、元どおり表示されている

パーミッションは、引っ越しやFTPソフトでのアップロードのあとに変わってしまうことがあります。直前にそういった作業をしていたら、まずここを見てみてください。

フォルダのURLを開いて403になるのは、正常な動き

/wp-content/uploads/のように、フォルダのURLをそのまま開くと403になることがあります。

これは、フォルダの中身の一覧を、外から見られないようにしているためです。異常ではないので、直さなくて大丈夫です。

記事を保存した時だけ403なら、サーバーのWAFを疑う

サイトは見られるのに、管理画面で記事を保存した時だけ403になる。こんな時は、サーバー会社のWAF(不正なアクセスを止める、サーバー側のセキュリティ機能)が、記事の中身を攻撃と見間違えて止めていることがあります。

確かめるところは、サーバー会社の管理画面です。WAFの設定や、止めた記録が見られることが多いので、403になった時刻の記録がないか見てみてください。

さくらインターネットの「WAF設定変更」。「利用設定」が「利用する(推奨)」にチェックが入っている
さくらインターネットの例

一度オフにして保存できるようになれば、WAFが止めていたと分かります。確かめたら必ずオンに戻しましょう。オフのままにすると、本当の攻撃も通ってしまいます。

設定の場所や名前はサーバー会社ごとに違うので、管理画面で「WAF」という言葉が入った項目を探してみてください。

直し方のまとめ

403 Forbiddenが出た時の直し方をまとめると、以下のとおりです。

  1. どこが403になっているか(全体・画像など特定のファイルだけ・保存した時だけ)を確かめる
  2. サイト全体なら、.htaccessをコピーしてから、自分で足したアクセス制限の行を消す
  3. 画像など特定のファイルだけなら、フォルダのパーミッションを確かめて、フォルダ755・ファイル644に戻す
  4. 記事を保存した時だけなら、サーバー会社の管理画面でWAFの設定を見る

次から防ぐには、.htaccessを変える前にコピーを取っておく

.htaccessは、1行足すだけでサイト全体の見え方が変わるファイルです。さわる前に今のファイルをコピーしておけば、何かあってもすぐ元に戻せます。

IPアドレスで入り口を絞っている時は、回線を変えるタイミングで見直すことも、引き継ぎのメモに入れておくと安心ですね。

WordPressでお悩みの方はお気軽にご相談ください。

ちょっとしたお困り事からサイト全体のリニューアルのようなご依頼まで、お悩みに応じて柔軟に対応いたします。

この記事を書いた人

はにわまん

HPcode代表。300件以上のWordPress案件を対応してきました。ちょっとしたWordPressのカスタマイズからブロックテーマでのリニューアルまで。更新できるWordPressサイトが好きです。