Show TOC

URL-Umschreibung (rewriting) einrichtenLocate this document in the navigation structure

Verwendung

Mit den Operationen RegRewriteUrl und RegIRewriteUrl (case insensitiver Pattern Match) können Sie eine URL-Umschreibung veranlassen, bevor der Request zum Applikationsserver geschickt wird.

Vorgehensweise

Verwenden Sie die Operationen in der Aktionsdatei. Die Syntaxbeschreibung finden Sie unter URLs manipulieren .

Die Umschreibungsaktionen werden in der Reihenfolge ihres Auftretens in der Aktionsdatei ausgeführt.

Sie können Umleitungen mit Bedingungen weiter spezifizieren: Das Umschreiben kann auf bestimmte Clients, Protokolle, Uhrzeiten, usw. eingeschränkt werden.

Zur Steuerung des Umschreibungsablaufs können Sie folgende Optionen angeben:

  • noescape : Das Ergebnis der Umschreibung wird standardmäßig immer URL-kodiert (Ersetzung von speziellen Zeichen: '%', '/', '&'). Wird diese Option angegeben, wird das Ergebnis nicht URL-kodiert.

  • restart : beginne erneut mit der ersten Umschreibungsaktion. Die bereits durchgeführten Umschreibungen behalten ihre Gültigkeit

  • break : In der Aktionsdatei nachfolgende Umschreibungen werden nicht mehr ausgeführt

  • compound : Mit dieser Option können mehrere Regeln zu einem Block gruppiert werden. Jeweils die einer mit "compound" Option angegebenen Aktion folgende gehört zu einem Block. Wenn die URL auf den regulären Ausdruck einer Aktion nicht passt, werden die nachfolgenden Aktionen dieses Blockes nicht mehr ausgeführt. Wenn die URL auf das Pattern einer Regel passt, hat diese Option keine Auswirkungen.

  • skip : Wenn die URL auf das Pattern einer Aktion passt, bedeutet diese Option, dass die nächsten <n> Aktionen übersprungen werden sollen.

Behandlung des Querystrings

Der Querystring besteht aus allen Zeichen nach dem "?" in der URL:

Beispiel

Beim Request "/sap/xi/send?client=100&sap-language=de&keep_context" ist der Querystring "client=100&sap-language=de&keep_context".

Im Standardverhalten ersetzt der Querystring aus der Anfrage einen ggf. erzeugten Querystring an der umgeschriebenen URL. Enthält die umgeschriebene URL einen Querystring, wird dieser ersetzt.

Mit den Optionen "qsreplace" und "qsappend" kann gesteuert werden, wie der Handler den Originalen Querystring und ggf. neu erzeugten Querystring behandeln soll.

Option qsreplace

Wird die Option qsreplace gesetzt, wird der original Querystring immer durch den neuen Querystring ersetzt.

Option qsappend

Wird die Option qsappend gesetzt, wird der neue Querystring an den originalen Querystring angehängt.

Beispiel

Die folgende Tabelle zeigt die Auswirkung von Aktionen (Regeln in der Aktionsdatei) auf ausgewählte Requests.

Regel (Zeile in der Aktionsdatei)

Request vorher

Request nachher

RegRewriteUrl ^/ping(.*) /sap/public/icman/ping$1

/ping/info

/sap/public/icman/ping/info

RegIRewriteUrl ^/echo(.*) /sap/bc/echo?header=1

/echo

/sap/bc/echo

/echo?client=100

/sap/bc/echo?client=100

RegIRewriteUrl ^/echo(.*) /sap/bc/echo?header=1 [qsreplace]

/echo

/sap/bc/echo?header=1

/echo?client=100

/sap/bc/echo?header=1

RegIRewriteUrl ^/echo(.*) /sap/bc/echo?header=1 [qsappend]

/echo

/sap/bc/echo?header=1

/echo?client=100

/sap/bc/echo?client=100&header=1