2026年5月20日
2026年5月20日
IPアドレス制限による403エラーの解決方法【.htaccess設定確認】
はじめに
「昨日まで普通にWordPressにアクセスできていたのに、今日は403エラーになった」という場合、IPアドレス制限が原因であることが多いです。自宅のIPアドレスは一般的に動的(接続のたびに変わる)なため、.htaccessに古いIPアドレスが残っていると自分自身がブロックされてしまいます。
症状・原因
IPアドレス制限による403エラーの特徴:
- 今まで正常だったのに急に403になった
- 自分だけアクセスできず、他の人はアクセスできる
- モバイル回線(別のIP)からはアクセスできる
- 以前にセキュリティ強化のためIPアドレス制限を設定していた
IPアドレス制限の仕組み:
.htaccessにAllow from [IPアドレス]の形式で書かれた設定があると、そのIP以外はブロックされます。IPアドレスが変わると自分もブロック対象になります。
解決手順
ステップ1:現在の自分のIPアドレスを確認
以下のいずれかで確認します:
- Google検索で「自分のIPアドレス」と検索
- whatismyipaddress.com にアクセス
- コマンドプロンプトで
curl ifconfig.me
例: 203.0.113.45
ステップ2:.htaccessの中身を確認する
FTPクライアント(FileZillaなど)でサーバーに接続し、WordPressルートにある.htaccessファイルを開きます(隠しファイルの表示をオンにする必要があります)。
問題のある設定例:
# このような設定があると自分のIPが変わった際に403になる
Order deny,allow
Deny from all
Allow from 203.0.113.1 ← 古いIPアドレス
# wp-admin/.htaccessに書かれている場合も同様
<Files wp-login.php>
Order deny,allow
Deny from all
Allow from 203.0.113.1 ← 古いIPアドレス
</Files>
ステップ3:設定を修正する
方法A:IPアドレスを現在のものに更新する
Order deny,allow
Deny from all
Allow from 203.0.113.45 ← 新しいIPアドレスに更新
方法B:IP制限を完全に削除する(セキュリティが低下することに注意)
Deny from allとAllow fromの行を全て削除します。
方法C:IPアドレス範囲で許可する
動的IPの場合、プロバイダのIPレンジで許可できます(プロバイダに確認が必要):
Order deny,allow
Deny from all
Allow from 203.0.113.0/24 ← /24でサブネット全体を許可
ステップ4:wp-admin/.htaccessも確認
/wp-admin/フォルダ内にも.htaccessがある場合は同様に確認・修正します。
ステップ5:Nginx(nginxの場合)
Nginxサーバーの場合はnginx.confまたはサイト設定ファイルに以下のような記述がないか確認します:
location /wp-admin {
allow 203.0.113.1; ← 古いIP
deny all;
}
修正後はsudo nginx -s reloadでNginxを再読み込みします。
動的IPアドレスへの対策
IPアドレスが頻繁に変わる場合の解決策:
| 対策 | コスト | 効果 |
|------|--------|------|
| IP制限を使わず2段階認証を使う | 無料 | 高 |
| VPN(固定IP付き)を使う | 月額数百円〜 | 高 |
| プロバイダの固定IPサービスを使う | 月額数百円〜 | 確実 |
| IP制限の代わりにBasic認証を使う | 無料 | 中 |
注意事項
- .htaccessを編集する前に必ずバックアップを取ってください
Deny from allの行だけを削除すると、Allow fromの設定が残って予期しない動作になる場合があります- 修正後はブラウザのキャッシュをクリアして再アクセスしてください
まとめ
IPアドレス制限による403エラーは、現在の自分のIPアドレスを確認し、.htaccessのAllow fromの値を更新することで解決できます。動的IPの環境では2段階認証やVPNへの切り替えが根本的な解決策になります。
関連記事: