Citrix ADC

Beispiel 6: Migrieren von Apache Rewrite-Modul-Regeln

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

Mehrere Apache-Rewrite-Regeln, die Beispiel derzeit verwendet, werden unten gezeigt. Diese Regeln leiten Suchanfragen an eine spezielle Ergebnisseite um, wenn sie keine SiteID-Zeichenfolge haben oder eine SiteID-Zeichenfolge gleich Null (0) haben, oder an die Standardergebnisseite, wenn diese Bedingungen nicht zutreffen.

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

  • RewriteCond% {REQUEST_FILENAME} ^/search$ [NC]
  • RewriteCond %{QUERY_STRING} !SiteId= [ODER]
  • RewriteCond %{QUERY_STRING} SiteId=0
  • RewriteCond %{QUERY_STRING} CallName=DisplayResults [NC]
  • RewriteRule ^.*$ results2.html [P,L]
  • RewriteCond% {REQUEST_FILENAME} ^/search$ [NC]
  • RewriteCond %{QUERY_STRING} CallName=DisplayResults [NC]
  • RewriteRule ^.*$ /results.html [P,L]

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

Aktionsname Art der Umschreibungsaktion Ausdruck zum Auswählen der Zielreferenz Zeichenfolgenausdruck für Ersetzungstext
Action-Rewrite-Display_Results_NulSiteID REPLACE HTTP.REQ.URL “/results2.html”
Action-Rewrite-Display_Results REPLACE HTTP.REQ.URL “/results2.html”

Anschließend erstellen Sie Rewrite-Richtlinien mit den Werten, wie in den folgenden Tabellen dargestellt.

Richtlinienname Aktionsname Nicht definierte Aktion Ausdruck
Policy-Rewrite-Display_Results_NulSiteID Action-Rewrite-Display_Results_NulSiteID 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”))
Policy-Rewrite-Display_Results Action-Rewrite-Display_Results 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 Umschreibungsrichtlinien 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.

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

Beispiel 6: Migrieren von Apache Rewrite-Modul-Regeln