Show TOC

Bedingungen definierenLocate this document in the navigation structure

Verwendung

Sie können die Ausführung von Headerfeld- und URL-Manipulationen mit einer oder mehreren Bedingungen verknüpfen.

Vorgehensweise

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

Beispiel

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.