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

Apache HTTP Server Version 1.3

Apache's Handler Use

Handlerって何?

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

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

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

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>


プログラマーのメモ

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

    char *handler

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


Apache HTTP Server Version 1.3

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

Index The English original manual is here.


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

JAPACHE ホームページ