[an error occurred while processing this directive] [APACHE DOCUMENTATION]

Apache's Handler Use

Handlerって何?

"handler"はファイルがコールされたとき実行されるアクションの内部的なApacheの表示です。一般的にファイルはファイルタイプをベースとした、暗に示された取り扱いをされます。普通は全てのファイルは単にサーバによって提供されます。しかし、あるファイルタイプは別に取り扱われます。例えばあなたはCGIスクリプトを実行するために"application/x-httpd-cgi"タイプを使用するかもしれません。

Apache 1.1は明確にhandlersを使用する付加的な能力が加わりました。ファイルの拡張子かロケーションをベースとしたこれらのhandlersはファイルタイプとは関連があり せん。これは両方に都合が良いです。なぜならそれはより簡潔なソリューションだから す。しかし、またファイルと関連づけることをタイプとhandlerの両方に許可します。

Handlersはサーバかモジュールのどちらかに対して設定され、それらはAction命令で加えられます。標準の配置の組み込みhandlersは次のようになります。:

Directives


AddHandler

Syntax: <AddHandler handler-name extension>
Context: server config, virtual host, directory, .htaccess
Status: Base
Module: mod_mime

AddHandler命令は特定の拡張子を持つファイルをhandler-nameと結び付けます。 例えば、拡張子が.cgiのCGIスクリプトを実行できるようにするには、以下の様に定義します。

    AddHandler cgi-script cgi

一度 srm.conf や httpd.conf ファイルを置き換えてしまうと".cgi"で終わっているファイルは CGI プログラムとして扱われます。


SetHandler

Syntax: <SetHandler handler-name>
Context: directory, .htaccess
Status: Base
Module: mod_mime

.htaccessファイルあるいは<Directory>あるいは<Location>セクションで設定されるとこの命令はhandler-nameで与えられた取り扱い方法によって一致するすべてのファイルを強制的に解析する。例えばもしあなたが完全にイメージマップルールファイルとして解析されるように命令を設定したいなら、拡張子に関わらずそのディレクトリ内の.htaccessファイルに次のように設定します。

    SetHandler imap-file

もう一つの例:もしあなたがhttp://servername/statusのURLが呼ばれたときはいつでもレポートのステータスををサーバにディスプレイしたいなら、次のようにaccess.confを設定してください。

    <Location /status>
    SetHandler server-status
    </Location>


プログラマーのメモ

handlerの特徴を実行するために、あなたが使用したいApache APIに一部の追加が作られました。特に新しいレコードがrequest_rec構成に加えられました。:

    char *handler

もしあなたがhandlerを取り扱うモジュールを持ちたいなら、リクエストのinvoke_handlerより先にhandlerの名前にr->handlerを設定することだけが必要です。Handlersはコンテントタイプの代わりにハンドラーネームの使用にもかかわらす、前のままで実施されます。それが必要でないときメディアタイプname-spaceを侵略しないように、handlersに対するネーミングルールがスラッシュのないダッシュで分けられた単語を使用することです。


このJAPACHE!ニュースグループへ ( japache.Handler ) | JAPACHE!ニュースについて | JAPACHE!ホームページへ

このページの情報に関わる、ご質問、お問い合わせは、 japache@infoscience.co.jpまで。


検索文字
The English original manual is here.

Index