Freigeben über


Verwenden von URL-Rewrite-Modul 2.0

von Ruslan Yakushev

Einführung

Dieser Abschnitt der Dokumentation bezieht sich auf URL Rewrite 2.0 für IIS 7.

URL Rewrite 2.0 für IIS 7 und höher ist ein inkrementeller Release, der alle Funktionen von Version 1.1 enthält und Unterstützung für die .NET-Erweiterbarkeit und für ausgehende Antwortumschreibungen hinzufügt. Genauer gesagt kann es verwendet werden, um:

  • komplexe Rewrite-Logik mithilfe von in .NET geschriebenen Umschreibungsanbietern zu implementieren.
  • die URLs, die von einer Webanwendung im Antwort-HTML-Code generiert werden, durch eine benutzer- und suchmaschinenfreundlichere Entsprechung zu ersetzen.
  • die Links im HTML-Markup zu ändern, die von einer Webanwendung hinter einem Reverseproxy generiert werden.
  • den Inhalt einer beliebigen HTTP-Antwort mithilfe des Musterabgleichs für reguläre Ausdrücke zu korrigieren.
  • HTTP-Anforderungs- und Antwortheader sowie IIS-Servervariablen zu ändern.

Features

URL Rewrite 2.0 enthält die folgenden Schlüsselfunktionen:

  • Benutzerdefinierte Umschreibungsanbieter (neu in RTW). Die Umschreibungsanbieter können verwendet werden, wenn eine URL-Umschreibungslogik nicht in Form regulärer Ausdrucksmuster ausgedrückt werden kann, oder wenn es erforderlich ist, Umschreibungsentscheidungen basierend auf Daten zu treffen, die außerhalb der Datei „web.config“ gespeichert sind (z. B. in einer SQL Datenbank oder in Textdateien). Benutzerdefiniert Umschreibungsanbieter können in jeder beliebigen .NET-Sprache implementiert werden.
  • Regelbasierte Umschreibungs-Engine. Ausgangsregeln werden verwendet, um die Logik, womit Teile der Antwort verglichen werden sollen, sowie die Aktionen festzulegen, die im Fall eines erfolgreichen Vergleichs ausgeführt werden soll. Webserver- und Websiteadministratoren können Ausgangsregeln verwenden, um komplexe Logiken für das Umschreiben von Antworten zu definieren.
  • Umschreiben innerhalb des Inhalts bestimmter HTML-Tags. Anstatt die gesamte Antwort auf eine bestimmte Übereinstimmung zu überprüfen, kann die Regel so konfiguriert werden, dass sie nur innerhalb bestimmter HTML-Tags wie <a>, <img> usw. sucht. Auf diese Weise wird das Muster erheblich vereinfacht, und die Anwendung der Regel auf den Inhalt geht viel schneller verglichen mit dem Anwenden des Musters auf die gesamte Antwort.
  • Vorbedingungen für ausgehende Regeln. Das Anwenden von Umschreibungsregeln für jede Antwort ist ein teurer Vorgang und ist in den meisten Fällen nicht erforderlich. Vorbedingungen werden verwendet, um die Antwortmetadaten dahingehend zu überprüfen, ob die Auswertung von Ausgangsregeln angewendet werden soll.
  • Umschreiben von Servervariablen und HTTP-Anforderungsheadern. Verschiedene IIS-Servervariablen und HTTP-Anforderungsheader können mithilfe von Umschreibungsregeln festgelegt werden.
  • Umschreiben von HTTP-Antwortheadern. Ausgehende Umschreibungsregeln können verwendet werden, um vorhandene HTTP-Antwortheader zu ändern oder neue festzulegen.
  • Zulassungsliste für Servervariablen. Um zu verhindern, dass verteilte Umschreibungsregeln IIS-Servervariablen versehentlich oder absichtlich ändern, die sich möglicherweise auf das Sicherheits- oder Laufzeitverhalten einer Webanwendung auswirken, müssen die modifizierbaren Servervariablen jetzt explizit zur Zulassungsliste hinzugefügt werden.
  • HtmlEncode-Funktion. Ausgehende Umschreibung kann häufig nicht vertrauenswürdige Daten (z. B. Abfragezeichenfolge oder HTTP-Header) verwenden, um eine Ersetzungszeichenfolge zu erstellen, die in die HTTP-Antwort eingefügt werden soll. In solchen Fällen sollte die HtmlEncode-Funktion verwendet werden, um das Einfügen clientseitiger Skripts in die Antwort zu verhindern, was zu einer websiteübergreifenden Skripting-Sicherheitsanfälligkeit führen könnte.
  • Nachverfolgen von Erfassungsgruppen über Regelbedingungen hinweg. Die Rückverweislogik der Bedingungen in URL Rewrite 1.1 funktionierte nur mit den letzten übereinstimmenden Bedingungen. In v2 funktioniert die Rückverweislogik mit allen übereinstimmenden Bedingungen.
  • Regelvorlagen für die Suchmaschinenoptimierung (neu in RTW). Drei neue Regelvorlagen erleichtern das Erstellen von Umleitungsregeln, die die Verwendung kanonischer URLs für Webseiten auf Ihrer Website erzwingen.
  • Regelvorlage „Reverseproxy“ (neu in RTW). Diese Vorlage kann verwendet werden, um eingehende und ausgehende Umschreibungsregeln zu generieren, die die Reverseproxykonfiguration implementieren.
  • Protokollierung umgeschriebener URLs. Die Umschreibungsregeln können so konfiguriert werden, dass die umgeschriebene URL in IIS-W3C-Protokollen protokolliert wird, anstatt eine ursprünglich angeforderte URL zu protokollieren.
  • Aktualisierte Benutzeroberfläche im IIS-Manager. Die Benutzeroberfläche wurde erheblich verbessert, um die Modulkonfiguration besser darzustellen und auf diese Weise gängige Aufgaben wie das Konfigurieren von Umschreibungsregeln und -bedingungen zu vereinfachen.

Installieren des Moduls

Laden Sie URL Rewrite 2.0 mithilfe der Links auf der Startseite des Moduls (https://www.iis.net/extensions/urlrewrite) herunter.

Hinweis

  • Wenn bereits eine frühere Version von URL Rewrite wie v1.0 oder v1.1 installiert ist, wird diese auf v2.0 aktualisiert.
  • Wenn bereits eine RC-Version der URL Rewrite 2.0 installiert ist, erfolgt ein Upgrade auf die RTW-Version.

Bekannte Probleme

  1. Die Antwortumschreibung funktioniert nicht mit statischer Komprimierung. Sie müssen die statische IIS-Komprimierung deaktivieren, um die Antwortumschreibung verwenden zu können.
  2. Ausgangsregeln werden nicht auf verschlüsselte blockweise Übertragungsantworten angewendet, wenn rewriteBeforeCache aktiviert ist. Legen Sie rewriteBeforeCache auf „false“ fest, wenn Sie Antworten umschreiben müssen, die für die Übertragung blockweise codiert sind.

Installieren der Erweiterbarkeitsbeispiele

Die URL Rewrite-Erweiterbarkeitsbeispiele umfassen die .NET-Assemblys und den Quellcode, der diese Anbieter implementiert:

  • DbProvider: Dieser Anbieter kann verwendet werden, um Umschreibungszuordnungen aus einer SQL Server-Datenbanktabelle abzurufen, indem eine gespeicherte Prozedur ausgeführt wird.
  • FileMapProvider: Dieser Anbieter kann verwendet werden, um in einer Textdatei gespeicherte Umschreibungszuordnungen abzurufen.
  • FileContainsProvider: Dieser Anbieter kann verwendet werden, um zu überprüfen, ob eine beliebige Zeichenfolge in einer Textdatei eine Teilzeichenfolge der Eingabezeichenfolge des Anbieters ist.

Laden Sie die URL Rewrite-Erweiterbarkeitsbeispile aus dem MSDN-Codekatalog herunter.

Verwenden des Moduls

In diesen Artikeln werden die Funktionen von URL Rewrite 2.0 und ihre Verwendung für allgemeine Umschreibungsszenarien erläutert.

Exemplarische Vorgehensweisen

Funktionsreferenz