Serveur Apache HTTP Version 2.4

Apache > Serveur HTTP > Documentation > Version 2.4 > Modules

# Module Apache mod_actions

Description: | Exécution des scripts CGI en fonction du type de média ou de la méthode de requête.
Statut: | Base
Identificateur de Module: | actions_module
Fichier Source: | mod_actions.c

### Sommaire

Ce module possède deux directives. La directive `Action` vous permet de lancer l'exécution de scripts CGI chaque fois qu'un fichier possédant un certain type de contenu MIME fait l'objet d'une requête. La directive `Script` vous permet de lancer l'exécution de scripts CGI chaque fois que la requête utilise une méthode particulière. Ceci facilite grandement l'exécution de scripts qui traitent des fichiers.

### Directives

### Traitement des bugs

- Journal des modifications de httpd
- Problèmes connus
- Signaler un bug

### Voir aussi

- `mod_cgi`
- Contenu dynamique avec CGI
- Utilisation des gestionnaires d'Apache httpd

## Directive Action

Description: | Active un script CGI pour un gestionnaire ou un type de contenu particulier
Syntaxe: | `Action type d'action script cgi [virtual]`
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess
AllowOverride: | FileInfo
Statut: | Base
Module: | mod_actions
Compatibilité: | Le modificateur `virtual` et le passage de gestionnaire ont été introduits dans Apache 2.1

Cette directive ajoute une action qui va activer script cgi lorsque type d'action est déclenché par la requête. script cgi est un chemin URL vers une ressource qui a été désignée comme script CGI à l'aide des directives `ScriptAlias` ou `AddHandler`. type d'action peut être soit un gestionnaire, soit un type de contenu MIME. L'URL et le chemin du document correspondant sont envoyés en utilisant les variables d'environnement CGI standards `PATH_INFO` et `PATH_TRANSLATED`. Le gestionnaire utilisé pour cette requête particulière est transmis à l'aide de la variable `REDIRECT_HANDLER`.

### Exemple : type MIME

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

Dans cet exemple, les requêtes pour des fichiers possédant le type de contenu MIME `image/gif` seront traitées par le script CGI `/cgi-bin/images.cgi`.

### Example: File extension

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

Dans cet exemple, les requêtes pour des fichiers possédant l'extension `.xyz` seront traitées par le script CGI `/cgi-bin/programme.cgi`.

Le modificateur optionnel `virtual` permet de désactiver la vérification de l'existence du fichier demandé. Ceci peut s'avérer utile, par exemple, si vous voulez utiliser la directive `Action` pour des localisations virtuelles.

    <Location "/news">
        SetHandler news-handler
        Action news-handler "/cgi-bin/news.cgi" virtual
    </Location>

### Voir aussi

- `AddHandler`

## Directive Script

Description: | Active un script CGI dans le cas d'une méthode de requête particulière.
Syntaxe: | `Script méthode script cgi`
Contexte: | configuration du serveur, serveur virtuel, répertoire
Statut: | Base
Module: | mod_actions

Cette directive ajoute une action qui va activer script cgi lorsqu'un fichier est demandé en utilisant la méthode méthode. script cgi est le chemin URL d'une ressource qui a été désignée comme script CGI en utilisant les directives `ScriptAlias` ou `AddHandler`. L'URL et le chemin du document demandé sont envoyés en utilisant les variables d'environnement CGI standards `PATH_INFO` et `PATH_TRANSLATED`.

Tous les noms de méthode peuvent être utilisés. Les noms de méthode sont sensibles à la casse, si bien que `Script PUT` et `Script put` ont des effets totalement différents.

Notez que la commande `Script` ne définit que des actions par défaut. Si un script CGI est appelé, ou toute autre ressource capable de gérer la méthode de la requête en interne, il agira en conséquence. Notez aussi que `Script` avec une méthode `GET` ne sera appelé que si la requête possède des arguments (par exemple foo.html?hi). Dans le cas contraire, la requête sera traitée normalement.

    # All GET requests go here
    Script GET "/cgi-bin/search"

    # A CGI PUT handler
    Script PUT "/~bob/put.cgi"