Zum Inhalt springen

mod_actions

Aus Foxwiki

mod_actions - Beschreibung

Beschreibung

Installation

Aufruf

Optionen

Unix GNU Parameter Beschreibung

Parameter

Umgebungsvariablen

Exit-Status

Anwendung

Problembehebung

Konfiguration

Dateien

Datei Beschreibung


Anhang

Siehe auch


Dokumentation

Man-Page
Info-Pages

Links

Projekt

Weblinks


TMP

14.2.5 Das Modul mod_actions

Ein weiteres CGI-relevantes Modul, das zur Grundausstattung von Apache 2 gehört, ist mod_actions. Es stellt zwei Konfigurationsdirektiven zur Verfügung, die die einfache Definition von CGI-Skripten für bestimmte Handler beziehungsweise HTTP-Methoden ermöglichen.

Action CGI-Skript für Handler oder MIME-Type aktivieren

Modul mod_actions Kontext Server, <VirtualHost>, <Directory>, <Location>, <Files>, .htaccess (FileInfo) Syntax Action Action-Type CGI-Skript Standardwert nicht gesetzt

Action ermöglicht es, für einen bestimmten MIME-Type oder einen Handler ein CGI-Skript anzugeben, das anstelle der aufgerufenen URL ausgeführt wird. Falls sich dieses Skript in einem Verzeichnis befindet, in dem AcceptPathInfo aktiviert wurde, erhält es den relativen Pfad der angeforderten Datei über die Umgebungsvariable PATH_INFO und den absoluten (Dateisystem-)Pfad über PATH_TRANSLATED. Dies lässt sich nutzen, um die eigentlich angeforderte Datei zunächst in irgendeiner Form durch das CGI-Skript zu manipulieren und dann auszugeben. Beachten Sie jedoch, dass sich die meisten derartigen Aufgaben erheblich komfortabler und mit besserer Performance durch Ausgabefilter (siehe Kapitel 16, »SSI und Filter«) umsetzen lassen.

Das folgende Beispiel leitet sämtliche HTML-Dateien im Unterverzeichnis /actiontest der DocumentRoot an das Skript /cgi-bin/test.pl weiter:

<Location /actiontest> Action text/html /cgi-bin/test.pl </Location>

Damit das Skript irgendetwas Sinnvolles mit der angeforderten Datei anfangen kann, muss das cgi-bin-Verzeichnis folgende Konfigurationsanweisung enthalten (oder erben):

AcceptPathInfo On

Alternativ können Sie das Skript einem Handler statt einem MIME-Type zuweisen; Handler können mittels AddHandler für eine bestimmte Dateiendung oder durch SetHandler für alle Dateien in einem Kontext festgelegt werden. Das folgende Beispiel aktiviert für alle Dateien im aktuellen Kontext, die die Endung .htm (aber nicht .html) tragen, das Skript /cgi-bin/modify.pl:

AddHandler htmodify .htm Action htmodify /cgi-bin/modify.pl

Beispiele für solche Skripte sehen Sie dort, wo die eigentliche CGI-Programmierung besprochen wird, im Verlauf dieses Kapitels.

Script CGI-Skript für eine bestimmte HTTP-Methode aktivieren

Modul mod_actions Kontext Server, <VirtualHost>, <Directory>, <Location>, <Files> Syntax Script HTTP-Methode CGI-Skript Standardwert nicht gesetzt

Umgebungsvariablen 14.3

Mithilfe dieser Direktive können Sie für einzelne HTTP-Anfrage-Methoden generell ein bestimmtes CGI-Skript aktivieren. Sinnvoll ist dies beispielsweise für PUTAnfragen: Das Skript kann erst einmal genau überprüfen, ob der übermittelte Inhalt unbedenklich ist, bevor es ihn auf der Festplatte des Server-Rechners speichert.

Dieses Beispiel leitet PUT-Anfragen im aktuellen Kontext an /cgi-bin/putter.pl weiter:

Script PUT /cgi-bin/putter.pl

Beachten Sie, dass dieses Verfahren bei GET-Anfragen nur funktioniert, wenn sich hinter der angeforderten URL ein Query-String, das heißt ein ? mit nachfolgender Parameterliste, befindet. Andernfalls liefert Apache einfach die angeforderte Datei aus.