Mod actions: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
K Textersetzung - „line>“ durch „line copy>“ |
||
Zeile 32: | Zeile 32: | ||
Das folgende Beispiel leitet sämtliche HTML-Dateien im Unterverzeichnis /actiontest der DocumentRoot an das Skript /cgi-bin/test.pl weiter | Das folgende Beispiel leitet sämtliche HTML-Dateien im Unterverzeichnis /actiontest der DocumentRoot an das Skript /cgi-bin/test.pl weiter | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<Location /actiontest> | <Location /actiontest> | ||
Zeile 40: | Zeile 40: | ||
Damit das Skript irgendetwas Sinnvolles mit der angeforderten Datei anfangen kann, muss das cgi-bin-Verzeichnis folgende Konfigurationsanweisung enthalten | Damit das Skript irgendetwas Sinnvolles mit der angeforderten Datei anfangen kann, muss das cgi-bin-Verzeichnis folgende Konfigurationsanweisung enthalten | ||
(oder erben) | (oder erben) | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 48: | Zeile 48: | ||
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 | 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 | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 67: | Zeile 67: | ||
Dieses Beispiel leitet PUT-Anfragen im aktuellen Kontext an /cgi-bin/putter.pl weiter | Dieses Beispiel leitet PUT-Anfragen im aktuellen Kontext an /cgi-bin/putter.pl weiter | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 76: | Zeile 76: | ||
== Installation == | == Installation == | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Aufruf == | == Aufruf == | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Zeile 99: | Zeile 99: | ||
== Anwendung == | == Anwendung == | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line copy> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Aktuelle Version vom 11. Mai 2025, 13:44 Uhr
mod_actions - Definition von CGI-Skripten für Handler oder HTTP/Methoden
Beschreibung
Modul | mod_actions |
Kontext |
|
Syntax | Action Action-Type CGI-Skript |
Standardwert | nicht gesetzt |
- CGI-relevantes Modul
- Grundausstattung von Apache
- Stellt zwei Konfigurationsdirektiven zur Verfügung
Action
CGI-Skript für Handler oder MIME-Type aktivieren
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 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 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
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