Zum Inhalt springen

Mod actions

Aus Foxwiki
Die 5 zuletzt angesehenen Seiten:  Smartd » Dynamic Host Configuration Protocol » Cat-3 » tasksel » mod_actions
Version vom 29. März 2025, 23:16 Uhr von Dirkwagner (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== 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 (File…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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.