URL-Umschreibung / Rewriting einrichten 
Eingehende HTTP-Requests können modifiziert werden, noch bevor sie an den Applikationsserver weitergeleitet werden. Modifikationsaktionen können auch die URL betreffen. Sie können sowohl den URL-Pfad als auch den Querystring eines eingehenden HTTP-Request in einen anderen zuvor definierten URL-Pfad bzw. Querystring umschreiben (Rewriting einrichten).
Der URL-Pfad umfasst alle Zeichen vor dem „?“ Zeichen falls ein Querystring folgt.
Der Querystring einer URL umfasst alle Zeichen nach dem „?“ Zeichen. Ein Querystring umfasst alle Queryparameter einer URL. Die einzelnen Queryparameter werden durch ein „&“ voneinander getrennt.
Beispiel
Beim HTTP-Request „/sap/xi/send?client=100&sap-language=de&keep_context" ist der URL-Pfad “/sap/xi/send” und der Querystring “client=100&sap-language=de&keep_context”..
Eine Zeile in der Aktionsdatei beschreibt dabei genau eine Modifikationsaktion. Die Reihenfolge in der Aktionsdatei beschreibt auch die Ausführungsreihenfolge. Sie können mehrere URL-Umschreibungen hintereinander ausführen. Die Ausführung der HTTP-Headerfeld-Modifikationen können Sie mit einer bzw. mehreren Bedingungen verknüpfen.
Verwenden Sie folgende Syntax, um HTTP-Headerfeld-Modifikationen in der Aktionsdatei zu definieren:
Syntax
<operation> <pattern> <dest> [<option>]
Die Groß- bzw. Kleinschreibung der Operation spielt keine Rolle.
<operation> |
Mit den beiden Modifikationsaktionen RegRewriteURL und RegIRewriteURL können Sie die URL des HTTP-Request in eine andere URL umschreiben.
|
<pattern> |
Muster, mit dem verglichen werden soll. Ist im Querystring des HTTP-Request dieses Muster enthalten, wird der URL-Pfad defaultmäßig in den unter <dest> definierten URL-Pfad umgeschrieben. Ob der Querystring umgeschrieben wird oder nicht, hängt davon ab, ob die Optionen qsreplace und qsappend angegeben wurden. Sind die beiden Optionen nicht gesetzt, so wird der Querystring des HTTP-Request nicht modifiziert. |
[<option>] |
Sie können mehrere Optionen hintereinander angeben, diese sind durch ein „ , “ zu trennen. Die Verwendung von compound (Gruppierung von einzelnen Modifikationsaktionen zu einem Block) und skip (Überspringen von n Modifikationsaktionen) wird nicht mehr empfohlen. |
Die folgenden Beispiele zeigen die Auswirkungen von Modifikationsaktionen auf ausgewählte HTTP-Requests.
Ausschnitt aus der Aktionsdatei:
Syntax
RegRewriteUrl ^/ping/info /sap/public/icman/ping
Request vor der URL-Umschreibung |
Request nach der URL-Umschreibung |
/ping/info |
/sap/public/icman/ping |
Ausschnitt aus der Aktionsdatei:
Syntax
RegIRewriteUrl ^/echo(.*) /sap/bc/echo?header=1
Request vor der URL-Umschreibung |
Request nach der URL-Umschreibung |
|
URL-Pfad |
/echo |
/sap/bc/echo?header=1 |
URL-Pfad+Querystring |
/echo?client=100 |
/sap/bc/echo?client=100 |
HTTP-Request enthält nur URL-Pfad:
Im Falle eines Pattern Match wird der URL-Pfad /echo des HTTP-Request durch den in der Aktionsdatei definierten URL-Pfad /sap/bc/echo ergänzt.
HTTP-Request enthält URL-Pfad und einen Querystring:
Im Falle eines Pattern Match wird der URL-Pfad /echo des HTTP-Request /echo?client=100 durch den in der Aktionsdatei definierten URL-Pfad /sap/bc/echo ergänzt. Der Querystring des HTTP-Requests wird nicht modifiziert.
Ausschnitt aus der Aktionsdatei:
Syntax
RegIRewriteUrl ^/echo(.*) /sap/bc/echo?header=1 [qsreplace]
Request vor der URL-Umschreibung |
Request nach der URL-Umschreibung |
|
URL-Pfad |
/echo |
/sap/bc/echo?header=1 |
URL-Pfad+Querystring |
/echo?client=100 |
/sap/bc/echo?header=1 |
HTTP-Request enthält nur URL-Pfad:
Im Falle eines Pattern Match wird der URL-Pfad /echo des HTTP-Request durch den in der Aktionsdatei definierten URL-Pfad /sap/bc/echo ergänzt. Weiterhin wird der in der Aktionsdatei angegebene Querystring header=1 an den URL-Pfad angehängt.
HTTP-Request enthält URL-Pfad und einen Querystring:
Im Falle eines Pattern Match wird der URL-Pfad /echo des HTTP-Request /echo?client=100 durch den in der Aktionsdatei definierten URL-Pfad /sap/bc/echo ergänzt. Weiterhin überschreibt der in der Aktionsdatei angegebene Querystring den Querystring des eingehenden HTTP-Requests.
Ausschnitt aus der Aktionsdatei:
Syntax
RegIRewriteUrl ^/echo(.*) /sap/bc/echo?header=1 [qsappend]
Request vor der URL-Umschreibung |
Request nach der URL-Umschreibung |
|
URL-Pfad |
/echo |
/sap/bc/echo?header=1 |
URL-Pfad+Querystring |
/echo?client=100 |
/sap/bc/echo?client=100&header=1 |
HTTP-Request enthält nur URL-Pfad:
Im Falle eines Pattern Match wird der URL-Pfad /echo des HTTP-Request durch den in der Aktionsdatei definierten URL-Pfad /sap/bc/echo ergänzt.
HTTP-Request enthält URL-Pfad und einen Querystring:
Im Falle eines Pattern Match wird der URL-Pfad /echo des HTTP-Request /echo?client=100 durch den in der Aktionsdatei definierten URL-Pfad /sap/bc/echo ergänzt. Weiterhin wird der Querystring des eingehenden Requests um den in der Aktionsdatei angegebenen Querystring ergänzt.