Beispiel 6: Apache Rewrite-Modulregeln migrieren

Last published : Sep 23, 2026
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$
  • Schreiben Sie erneut% {QUERY_STRING}! SiteID=
  • RewriteCond %{QUERY_STRING} SiteId=0
  • RewriteSecond% {QUERY_STRING} callname=Ergebnisse anzeigen
  • Regel neu schreiben \^.*$ results2.html
  • RewriteCond% {REQUEST_FILENAME} \^/search$
  • RewriteSecond% {QUERY_STRING} callname=Ergebnisse anzeigen
  • Regel neu schreiben \^.*$ /results.html
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.