.htaccessファイルは、分散設定ファイルとも呼ばれ、Webサーバーの挙動を設定することができるファイルのひとつで、WebサーバーとしてApacheが使用されていて、管理者が.htaccessファイルの設置を許可していれば使用することができます。
ErrorDocumentディレクティブを使うことで、エラー発生時の表示方法を変更することができます。
設定方法
Apacheは、http.confにディレクティブという命令を記述することで設定しますが、http.confは管理者にしか編集できなくなっています。それに対して、.htaccessファイルは各ユーザーがディレクトリ単位に設定することができます。ファイルの構文は、主設定ファイルのhttp.confファイルと同じです。
注意事項
- 基本的に、http.confファイルにアクセスできない場合以外は極力使用しない
- FTPで転送する場合、ASCIIモードまたは、テキストモードを使用する
- Windowsで編集する場合、一旦htaccess.txtなどに置き換え、サーバーに配置後にリネームする
- 設置されたディレクトリと配下ディレクトリ全てに影響する
- 構文誤りや管理者が許可していないディレクティブを使用した場合、該当ディレクトリ配下のファイルアクセスが、500 Internal Server Errorになる
- 最終行には、改行を入れる
使い方
いろんな使い方ができるみたいですが。ざっくりとですが、こんなことができるみたいです。勉強しながら少しずつ記事にしていきたいと思っています。
使い方概要今回は、エラーページ制御の使い方について記事を書きます。
- セキュリティ関連
- エラーページ制御
- キャッシュ制御
- ページ表示の高速化
- 多言語対応
エラーページ制御エラーページの変更
- エラーページの変更
ErrorDocumentディレクティブを使うことで、エラー発生時の表示方法を変更することができます。
- Apache標準のエラーメッセージを表示
- 自分で作成したエラーメッセージを表示
- 自サーバー内のURL-pathへリダイレクトし、問題やエラーの処理
- 外部のURLへリダイレクトし、問題やエラーの処理
ErrorDocument error-code documentErrorDocumentディレクティブは、HTTPのレスポンスコード、メッセージまたはURLを指定することで設定します。
1.Apache標準のエラーメッセージを表示
デフォルト設定なので、設定する必要はありませんが、”default”を設定することでApacheにハードコードされているメッセージを指定することができます。
ErrorDocument 404 /cgi-bin/err_urls.pl
<Directory /web/documents>
ErrorDocument 404 default
</Directory>
2.自分で作成したエラーメッセージを表示
自分で作成したエラーメッセージを表示する場合は、documentに作成したメッセージをダブルクォートで括って指定します。
ErrorDocument 404 "Sorry, page not found."
3.自サーバー内のURL-pathへリダイレクトし、問題やエラーの処理
自サーバー内ので問題やエラーを処理する場合は、スラッシュで始まるドキュメントルートからの相対パスを指定します。
ErrorDocument 404 /page_not_found.html
4.外部のURLへリダイレクトし、問題やエラーの処理
httpなどで始まるURLを指定することで、外部URLで問題やエラーを処理することができます。
ErrorDocument 404 http://sample.exanple.com/cgi-bin/page_not_found
EmoticonEmoticon