|
htaccess解説/エラーページの設定(カスタマイズ)
ブラウザからアクセスした場合、該当ページなしや権限なしなどのエラーが発生した場合に表示されるページを指定する事ができます。
指定していない場合、Apacheの標準エラー画面やプロバイダが準備しているエラー画面が表示されます。リンクのミスやページの配置換え、プログラムエラーなどでエラーが発生することもありますので、事前にエラー画面を準備しておくと分かりやすいメッセージの画面を出力することができます。
詳細
一般的に以下のエラーが発生した時にエラーページのカスタマイズを行います。
エラー コード |
エラーの意味 |
| 401 | 【意味】 「Unauthorized」 パスワード認証ができない。 【原因】 ・ htaccess認証でユーザーIDやパスワードの入力間違い ・パスワード画面でキャンセルをクリック (「BASIC認証」を参照) |
| 403 | 【意味】 「Forbidden」 権限がないためアクセスを拒否した。 【原因】 ・パーミッションやhtaccessなどの制限により、アクセス権限しているファイルにアクセスした(「アクセス制限(ファイル)」を参照) ・デフォルトページがないディレクトリにアクセスした(「ファイル一覧の可否」参照) |
| 404 | 【意味】 「Not Found」 指定されたページ(ファイル)が存在しない。 【原因】 ・ブラウザのURLの入力ミス ・リンクの設定ミス ・ページの移動により旧ページにアクセスがあった |
| 500 | 【意味】 「Internal Server Error」 CGI,PHPやhtaccessの設定ミスでサーバでプログラムエラーが発生した。 【原因】 ・プログラムの不具合 ・パーミッションの設定ミス ・FTPアップロード時の文字コードや改行コードの変換ミス ・サーバー側の原因によるエラー |
エラーページを指定していないと、分かりづらいApacheの標準エラー画面が表示されます。(レンタルサーバーなどを利用している場合は、プロバイダ等で設定しているエラー画面が表示される場合があります)
(例)権限なしエラー 
htaccessでエラーページを設定すると以下のように独自のエラー画面を表示することができます。
(例)権限なしエラー 
「.htaccess」ファイル
ErrorDocument 401 /err/401.html
ErrorDocument 403 /err/403.html
ErrorDocument 404 /err/404.html
ErrorDocument 500 http://www.example.jp/error/500.html
ErrorDocument xxx yyyyyyyyyy
| 構文 |
意味 |
| ErrorDocument |
エラー画面を設定することを表す |
xxx
(上記の青文字) |
対象のエラーコード(前記参照) |
yyyyyyyyyy (上記の青文字) |
エラーが発生した時に表示する画面 一般的に、絶対パスまたはURLで記述する |
注意事項
設定を間違えると無限ループになる場合がありますのでご注意してください。 (使用しているブラウザによりループするかは決まります)
- 403エラー
403エラーは権限がない場合に発生しますが、403エラーが発生した時に表示するように設定したエラー画面のパーミッションなどを間違えると、さらに403エラーが発生して無限ループになる場合があります。
- 404エラー
404エラーは該当ページが実在しない時に発生しますが、404エラーが発生した時に表示するように設定したエラー画面が実在しないと、さらに404エラーが発生して無限ループになる場合があります。
- 500エラー
500エラーはプログラムエラーなどで発生しますが、500エラーが発生した時に表示するように設定したエラー画面がプログラムエラーとなった場合、さらに500エラーが発生して無限ループになる場合があります。 その他
|