ADC

Beispiel 6: Apache Rewrite-Modulregeln migrieren

Example Inc. verwendet derzeit das Apache Rewrite-Modul, um Suchanfragen zu verarbeiten, die an seine Webserver gesendet werden, und diese Anfragen auf der Grundlage der Informationen in der Anforderungs-URL an den entsprechenden Server umzuleiten. Example Inc. möchte die Einrichtung vereinfachen, indem es diese Regeln auf die NetScaler-Plattform migriert.

Nachfolgend sind mehrere Apache-Rewrite-Regeln aufgeführt, die Example derzeit verwendet. Diese Regeln leiten Suchanfragen an eine spezielle Ergebnisseite weiter, wenn sie keine SiteID-Zeichenfolge haben oder wenn sie eine SiteID-Zeichenfolge haben, die Null (0) entspricht, oder auf die Standardergebnisseite, wenn diese Bedingungen nicht zutreffen.

Im Folgenden sind die aktuellen Apache-Rewrite-Regeln aufgeführt:

  • RewriteCond% {REQUEST_FILENAME} ^/search$ [NC]
  • Schreiben Sie erneut% {QUERY_STRING}! SiteID= [ODER]
  • RewriteCond %{QUERY_STRING} SiteId=0
  • RewriteSecond% {QUERY_STRING} callname=Ergebnisse anzeigen [NC]
  • Regel neu schreiben ^.*$ results2.html [P, L]
  • RewriteCond% {REQUEST_FILENAME} ^/search$ [NC]
  • RewriteSecond% {QUERY_STRING} callname=Ergebnisse anzeigen [NC]
  • Regel neu schreiben ^.*$ /results.html [P, L]

Um diese Apache-Rewrite-Regeln auf dem NetScaler zu implementieren, würden Sie Rewrite-Aktionen mit den Werten in den folgenden Tabellen erstellen.

Name der Aktion Art der Rewrite-Aktion Ausdruck zur Auswahl der Zielreferenz Zeichenfolgenausdruck für Ersetzungstext
Aktion umschreiben - Display_Results_NullSiteID REPLACE HTTP.REQ.URL „/results2.html“
Aktion — Umschreiben — Ergebnisse anzeigen REPLACE HTTP.REQ.URL „/results2.html“

Anschließend würden Sie Rewrite-Richtlinien mit den Werten erstellen, die in den folgenden Tabellen aufgeführt sind.

Richtlinienname Name der Aktion Undefinierte Aktion Ausdruck
Richtlinie umschreiben - Display_Results_NullSiteID Aktion umschreiben - Display_Results_NullSiteID NOREWRITE HTTP.REQ.URL.PATH.SET_TEXT_MODE (IGNORECASE) .EQ („/search“) && (! HTTP.REQ.URL.QUERY.CONTAINS („SiteID=“) || HTTP.REQ.URL.QUERY.CONTAINS („SiteID=0”) || HTTP.REQ.URL.QUERY.SET_TEXT_MODE (IGNORECASE) .CONTAINS („callName=DisplayResults“))
Richtlinie neu schreiben — Ergebnisse anzeigen Aktion — Umschreiben — Ergebnisse anzeigen NOREWRITE HTTP.REQ.URL.PATH.SET_TEXT_MODE (IGNORECASE) .EQ („/search“) || HTTP.REQ.URL.QUERY.SET_TEXT_MODE (IGNORECASE) .CONTAINS („callName=DisplayResults“))

Schließlich würden Sie die Rewrite-Richtlinien binden, indem Sie der ersten eine Priorität von 600 und der zweiten eine Priorität von 700 zuweisen und dann den goto-Ausdruck für beide Bindungen auf NEXT setzen.

NetScaler verarbeitet diese Suchanfragen nun genau so, wie es der Webserver getan hat, bevor die Regeln des Apache-Rewrite-Moduls migriert wurden.

Beispiel 6: Apache Rewrite-Modulregeln migrieren

In diesem Artikel