0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

エラー『403 Forbidden』を『404 Not Found』にリダイレクトして表示する方法《.htaccess》

Last updated at Posted at 2025-10-27

はじめに

.htaccess を使って、『403エラー(403 Forbidden)』を『404エラー(404 Not Found)』にリダイレクト(転送)して表示する方法をまとめました。

《リダイレクト(転送)する理由は?》
アクセスを禁止しているユーザーに『403エラー(403 Forbidden)』であることを隠し『404エラー(404 Not Found)』だと思わせることが目的。

403エラー(403 Forbidden) とは?
アクセスを禁止されたユーザーに表示される画面またはレスポンスステータスコードのこと。
あなたのアクセスは禁止されています。

404エラー(404 Not Found) とは?
アクセスしようとしたURLにページが存在しない時に表示される画面またはレスポンスステータスコードのこと。
あなたがアクセスしたURLのページは存在していません。

403 Forbidden を 404 Not Found にリダイレクトする.htaccess

《ファイルの設置例》
/.htaccess
/index.html
/error/.htaccess
/error/403
/error/404

.htaccess (トップページ)
ErrorDocument 403 /error/403
ErrorDocument 404 /error/404
<RequireAll>
Require all granted
Require not ip 127.0.0.1 (※アクセスを禁止したいIPアドレス)
</RequireAll>

《解説》
ErrorDocument 403 /error/403]403エラー用のページ
ErrorDocument 404 /error/404]404エラー用のページ
Require all granted]全てのアクセス許可
Require not ip 127.0.0.1]IPアドレスが127.0.0.1の場合はアクセス禁止

.htaccess (/error/)
<RequireAll>
Require all granted
</RequireAll>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/error/403$
RewriteRule ^(.*)$ - [R=404,L]

《解説》
Require all granted]全てのアクセス許可
RewriteCond %{REQUEST_URI} ^/error/403$]/error/403にリダイレクトされた場合
RewriteRule ^(.*)$ - [R=404,L]]404エラー用のページにリダイレクトする

《アクセスの流れ》
]アクセスを禁止されているユーザーがトップページにアクセス
]サーバー内では403エラーになる (※ユーザーは気づかない)
]サーバー内で/error/403にリダイレクト (※ユーザーは気づかない)
]サーバー内で/error/404にリダイレクト
]ユーザーの画面には404エラーのページが表示される

(text_sakura)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?