Sie können die Ausführung von Headerfeld- und URL-Manipulationen mit einer oder mehreren Bedingungen verknüpfen.
Verwenden Sie folgende Syntax für Zeilen der Aktionsdatei.
if <string> <compop> <pattern> [op]
Hierbei haben die Werte die folgende Bedeutung.
Bezeichner |
Bedeutung und mögliche Werte |
---|---|
<string> |
Element des Requests (Headerfeld, Formfeld, systemdefinierte Werte), feste Zeichenkette oder der Zugriff auf den passenden regulären Ausdruck (pattern match) der direkt vorangestellten Bedingung. |
<compop> |
Vergleichsoperation: = , != , < , > , <= , >= , regmatch (pattern match), regimatch (pattern match case insensitive), strcmp (case sensitiver Zeichenkettenvergleich), stricmp (case insensitiver Zeichenkettenvergleich). Ein vorangestelltes ! negiert die Bedingung. |
<pattern> |
Regulärer Ausdruck, mit dem verglichen werden soll. |
[<op>] (optional) |
Verketten mehrerer Bedingungen: mögliche Operatoren sind and und or . Im Unterschied zu Programmiersprachen haben die Operatoren hier gleiche Präzedenz. Die Operanden werden von links nach rechts abgearbeitet. Im Anschluss an die Operation kann noch noescape , restart , break , compound , skip stehen (abhängig von der Operation). Weitere Informationen: URL-Umschreibung (rewriting) einrichten |
Ausschnitt aus der Aktionsdatei
if %{HTTP_HOST} regimatch *.wdf.sap.com [and]
if %{SERVER_PORT} = 80
SetHeader clientProtocol http
Bedeutung
Wenn der Rechnername (Wert des HTTP-Host-Headers HTTP_HOST) im HTTP-Request mit .wdf.sap.com endet und der HTTP-Port der Port 80 ist ( http://xxx.wdf.sap.com:80/... ), so wird das Headerfeld clientProtocol auf den Wert http gesetzt.
Ausschnitt aus der Aktionsdatei
If %{REQUEST_METHOD} !stricmp "GET" [AND]
If %{REQUEST_METHOD} !stricmp "POST"
RegForbiddenUrl ^/(.*) -
Bedeutung
Nur Requests mit GET und POST als Methode werden zugelassen. Alle anderen Requests werden abgewiesen.
Ausschnitt aus der Aktionsdatei
# Rewrite Rules for ICM
If %{REQUEST_METHOD} stricmp "TRACE"
RegForbiddenUrl ^/(.*) -
Bedeutung
HTTP-Requests mit der TRACE Methode werden abgewiesen.
Ausschnitt aus der Aktionsdatei
if %{HEADER:USER-AGENT} !regimatch Mozilla/4.0*
RegForbiddenUrl (.*) -
Bedeutung
Nur Requests, die die Zeichenkette Mozilla/4.0 (Groß- und Kleinschreibung wird nicht berücksichtigt) enthalten, sind erlaubt.
Ausschnitt aus der Aktionsdatei
If %{SERVER_PROTOCOL} !stricmp "https"
RegIRedirectUrl /sap/ (.*) https://%{HTTP_HOST}/sap/ $1 [code=permanent]
Bedeutung
Wenn das verwendete Protokoll nicht HTTPS ist, wird der Request für HTTPS umgeschrieben.