Show TOC

Dokumentation zur VorgehensweiseBedingungen definieren Dieses Dokument in der Navigationsstruktur finden

 

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.

Syntax Syntax

  1. if <string> <compop> <pattern> [op]
Ende des Codes

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.