Bedingungen definieren 
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.
Syntax
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 |
if %{HTTP_HOST} regimatch *.wdf.sap.com [and]
if %{SERVER_PORT} = 80
SetHeader clientProtocol http
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.
If %{REQUEST_METHOD} !stricmp "GET" [AND]
If %{REQUEST_METHOD} !stricmp "POST"
RegForbiddenUrl ^/(.*) -
Nur Requests mit GET und POST als Methode werden zugelassen. Alle anderen Requests werden abgewiesen.
# Rewrite Rules for ICM
If %{REQUEST_METHOD} stricmp "TRACE"
RegForbiddenUrl ^/(.*) -
HTTP-Requests mit der TRACE Methode werden abgewiesen.
if %{HEADER:USER-AGENT} !regimatch Mozilla/4.0*
RegForbiddenUrl (.*) -
Nur Requests, die die Zeichenkette Mozilla/4.0 (Groß- und Kleinschreibung wird nicht berücksichtigt) enthalten, sind erlaubt.
If %{SERVER_PROTOCOL} !stricmp "https"
RegIRedirectUrl /sap/ (.*) https://%{HTTP_HOST}/sap/ $1 [code=permanent]
Wenn das verwendete Protokoll nicht HTTPS ist, wird der Request für HTTPS umgeschrieben.