# Module mod_actions

This module provides for executing CGI scripts based on media type or request method.

Status: Base
Source File: mod_actions.c
Module Identifier: actions_module

## Summary

This module has two directives. The Action directive lets you run CGI scripts whenever a file of a certain type is requested. The Script directive lets you run CGI scripts whenever a particular method is used in a request. This makes it much easier to execute scripts that process files.

## Directives

- Action
- Script

## Action directive

Syntax: Action action-type cgi-script
Context: server config, virtual host, directory, .htaccess
Override: FileInfo
Status: Base
Module: mod_actions

This directive adds an action, which will activate cgi-script when action-type is triggered by the request. The action-type can be either a handler or a MIME content type. It sends the URL and file path of the requested document using the standard CGI PATH_INFO and PATH_TRANSLATED environment variables.

## Script directive

Syntax: Script method cgi-script
Context: server config, virtual host, directory
Status: Base
Module: mod_actions

This directive adds an action, which will activate cgi-script when a file is requested using the method of method. It sends the URL and file path of the requested document using the standard CGI PATH_INFO and PATH_TRANSLATED environment variables.

> Any arbitrary method name may be used. Method names are case-sensitive, so `Script PUT` and `Script put` have two entirely different effects.

Note that the Script command defines default actions only. If a CGI script is called, or some other resource that is capable of handling the requested method internally, it will do so. Also note that Script with a method of `GET` will only be called if there are query arguments present (e.g., foo.html?hi). Otherwise, the request will proceed normally.

Examples:

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