Module mod_actions

### Apache HTTP Server Version 1.3

# mod_actions モジュール

このモジュールはメディアタイプやリクエストメソッドに応じて CGI スクリプトを実行する機能を提供します。

ステータス: Base
ソースファイル: mod_actions.c
モジュール識別子: action_module
互換性: Apache 1.1 以降でのみ使用可能。

## 概要

このモジュールには二つのディレクティブがあります。Action ディレクティブは特定のタイプのファイルをリクエストされた場合に CGI スクリプトが実行されるようにします。Script ディレクティブはリクエストで特定のメソッドが使用されたときに CGI スクリプトが実行されるようにします。 これはファイルを処理するスクリプトの実行をずっと簡単にします。

## ディレクティブ

- Action
- Script

## Action ディレクティブ

構文: Action action-type cgi-script
コンテキスト: サーバ設定ファイル、バーチャルホスト、 ディレクトリ、.htaccess
上書き: FileInfo
ステータス: Base
モジュール: mod_actions
互換性: Apache 1.1 以降でのみ使用可能。

このディレクティブは action-type がリクエストされたときに cgi-script が実行されるという動作を追加します。cgi-script は `ScriptAlias` や `AddHandler` によって CGI スクリプトに設定されたリソースへの URL-path です。 Action-type には handler か MIME コンテントタイプを指定できます。リクエストされたドキュメントの URL とファイルのパスは標準 CGI 環境変数 PATH_INFO と PATH_TRANSLATED を使って伝えられます。

例:

        # Requests for files of a particular type:
        Action image/gif /cgi-bin/images.cgi

        # Files of a particular file extension
        AddHandler my-file-type .xyz
        Action my-file-type /cgi-bin/program.cgi

最初の例では、MIME コンテントタイプが `image/gif` のファイルへのリクエストは、そのファイルの代わりに指定されたスクリプト `/cgi-bin/images.cgi` が呼ばれます。

2 番目の例では、拡張子が `.xyz` のファイルへのリクエストは、 そのファイルの代わりに指定されたスクリプト `/cgi-bin/program.cgi` が呼ばれます。

AddHandler も参照してください

## Script ディレクティブ

構文: Script method cgi-script
コンテキスト: サーバ設定ファイル、バーチャルホスト、 ディレクトリ
ステータス: Base
モジュール: mod_actions
互換性: Script は Apache 1.1 以降でのみ使用可能。任意のメソッドの使用は 1.3.10 以降でのみ使用可能。

このディレクティブは method というメソッドを使ってリクエストが行なわれたときに cgi-script を実行するという動作を追加します。 cgi-script は `ScriptAlias` や `AddHandler` によって CGI スクリプトに設定されたリソースへの URL-path です。 リクエストされたドキュメントの URL とファイルのパスは標準 CGI 環境変数 PATH_INFO と PATH_TRANSLATED を使って伝えられます。

> Apache 1.3.10 より前では、method は `GET`, `POST`, `PUT`, `DELETE` だけが指定可能でした。1.3.10 では、任意のメソッド名を使用することができます。 メソッド名は大文字小文字を区別します。ですから、 `Script PUT` と `Script put` はまったく違った効果になります。

Script コマンドはデフォルトの動作を追加するだけであることに 注意してください。もし CGI スクリプトが呼ばれたり、リクエストされた メソッドを内部で扱うことのできる他のリソースがあれば、それが行なわれます。 `GET` メソッドの Script は問合せ引数がある場合にのみ (たとえば、foo.html?hi) 呼ばれるということにも注意してください。 そうでない場合は、リクエストは通常通り処理されます。

例:

        # For <ISINDEX>-style searching
        Script GET /cgi-bin/search
        # A CGI PUT handler
        Script PUT /~bob/put.cgi

### Apache HTTP Server Version 1.3