Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
von Ruslan Yakushev
Informationen zum URL Rewrite-Modul
Mit dem Microsoft URL Rewrite Module 2.0 für IIS 7 und höher können IIS-Administratoren leistungsstarke angepasste Regeln erstellen, um Anforderungs-URLs benutzerfreundlichen URLs zuzuordnen, die benutzern leichter zu merken sind und suchmaschinen einfacher zu finden sind. Sie können das URL Rewrite-Modul verwenden, um URL-Manipulationsaufgaben auszuführen, zu denen einige gehören:
- Definieren Sie leistungsstarke Regeln, um komplexe URLs in einfache und konsistente Webadressen zu transformieren.
- Ersetzen Sie einfach Webanwendungs-URLs, um benutzer- und suchmaschinenfreundliche Ergebnisse zu erzielen.
- Schreiben Sie URLs basierend auf HTTP-Headern und IIS-Servervariablen neu.
- Führen Sie Umleitungen aus, senden Sie benutzerdefinierte Antworten oder beenden Sie HTTP-Anforderungen basierend auf der Logik, die in den Umschreibregeln ausgedrückt wird.
- Steuern des Zugriffs auf Websiteinhalte basierend auf URL-Segmenten oder Anforderungsmetadaten.
Das URL Rewrite-Modul ist sowohl als Download verfügbar, als auch als Download, den Sie auf Ihrem eigenen IIS-Server und auf der Azure-Website-Cloudplattform von Microsoft installieren können.
Features von URL-Rewrite 2.0
Das Microsoft URL Rewrite Module 2.0 enthält die folgenden wichtigsten Features:
- Regelbasiertes URL-Umschreibenmodul. Umschreibungsregeln definieren die Logik, die verwendet wird, um Anforderungs-URLs zu analysieren und auf Umschreibungs-URLs abzubilden, wenn die Anforderungs-URL mit einer definierten Regel übereinstimmt. Webserver- und Website-Administratoren können Umschreibungsregelsätze zum Definieren der URL-Umschreibungslogik verwenden.
- Regulärer Ausdrucksmusterabgleich. Regeln zum Umschreiben können die Syntax regulärer Ausdrücke für den Musterabgleich verwenden, wie in ECMA-262 definiert.
- Wildcard-Musterabgleich Regeln zum Umschreiben können eine Wildcardsyntax für den Musterabgleich verwenden.
- Regeln für globale und verteilte Neuschreibregeln. Url Rewrite verwendet globale Regeln, um serverweite URL-Umschreibungslogik zu definieren. Diese Regeln werden in der applicationHost.config-Datei definiert, und sie überlagern Regeln, die auf niedrigeren Ebenen in der Konfigurationshierarchie konfiguriert sind. Das Modul verwendet auch verteilte Regeln zum Definieren der URL-Umschreibungslogik, die für einen bestimmten Konfigurationsbereich spezifisch ist. Dieser Regeltyp kann auf jeder Konfigurationsebene mithilfe von Web.config Dateien definiert werden.
- Zugriff auf Servervariablen und HTTP-Header. Servervariablen und HTTP-Header stellen zusätzliche Informationen zu aktuellen HTTP-Anforderungen bereit. Diese Informationen können zum Konfigurieren von Neuschreibregeln oder zum Verfassen der Ausgabe-URL verwendet werden.
- Verschiedene Regelaktionen. Anstatt eine URL umzuschreiben, kann eine Regel andere Aktionen ausführen, z. B. eine HTTP-Umleitung ausstellen, die Anforderung abbrechen oder einen benutzerdefinierten Statuscode an HTTP-Clients senden.
- Unterstützung für IIS-Kernelmodus und Ausgabecaching im Benutzermodus. Die IIS-Ausgabezwischenspeicherung bietet erhebliche Leistungsverbesserungen für Webanwendungen. Das URL Rewrite-Modul ist vollständig mit beiden Ausgabezwischenspeicherungstypen kompatibel. Dies bedeutet, dass es möglich ist, Antworten für neu geschriebene URLs sicher zwischenzuspeichern und so die Leistung von Webanwendungen zu erhöhen, die auf URL-Umschreibung angewiesen sind.
- Zeichenfolgenmanipulationsfunktionen. Integrierte Zeichenfolgenmanipulationsfunktionen können verwendet werden, um URLs in Kleinbuchstaben zu konvertieren und URL-Codierung und Decodierung durchzuführen.
- Schreiben Sie Karten neu. Eine Rewrite-Karte ist eine beliebige Sammlung von Namen-Wert-Paaren. Sie können eine Umschreibungszuordnung innerhalb von Umschreibregeln verwenden, um die Ersetzungs-URL zu generieren. Neuzuordnungstabellen sind besonders nützlich, wenn Sie über eine große Anzahl von Umschreibungsregeln verfügen, die alle statische Texte verwenden, d. h. es wird kein Mustervergleich verwendet. In diesen Fällen können Sie anstelle eines großen Satzes einfacher Neuschreibregeln alle Zuordnungen zwischen den Zuordnungen mithilfe der Eingabe-URL als Schlüssel und der Ersetzungs-URL als Wert in die Neuschreibungszuordnung einfügen. Anschließend können Sie eine Umschreibregel verwenden, die auf die Umschreibungszuordnung verweist, um die Ersetzungs-URL anhand der Eingabe-URL nachzuschlagen.
- Unterstützung für fehlgeschlagene Anforderungsverfolgung. Die IIS Failed Request Tracing kann verwendet werden, um Fehler im Zusammenhang mit der URL-Neuschreibung zu beheben.
- Regelvorlagen. Eine Regelvorlage ist eine Erweiterung für die Benutzeroberfläche des URL Rewrite-Moduls, die das Erstellen von Neuschreibregeln für eine bestimmte Aufgabe vereinfacht. Das Modul enthält drei Regelvorlagen und unterstützt auch das Anschließen einer beliebigen Anzahl von benutzerdefinierten Vorlagen.
- Benutzeroberfläche zum Testen regulärer Ausdrücke und Wildcardmuster. Eine Benutzeroberfläche zum Testen von Regelmustern wird mit dem Modul bereitgestellt. Mithilfe der Benutzeroberfläche können Sie die Ergebnisse eines regulären Ausdrucks oder eines Wildcardmusters in einer Neuschreibregel schnell überprüfen. Sie können die Benutzeroberfläche auch für die Problembehandlung und das Debuggen von Problemen im Zusammenhang mit dem Musterabgleich verwenden.
- Benutzeroberfläche zum Verwalten von Neuschreibregeln und Neuschreiben von Zuordnungen. Mit dem URL Rewrite Module des IIS-Managers können Umschreiberegeln und Zuordnungstabellen hinzugefügt, entfernt und bearbeitet werden.
- Benutzeroberfläche zum Importieren von mod_rewrite Regeln. Das URL Rewrite-Modul enthält eine Benutzeroberfläche zum Konvertieren von Rewrite-Regeln aus mod_rewrite Format in ein IIS-Format.
Wo das URL Rewrite-Modul abgerufen werden soll
Weitere Informationen und zum Herunterladen des Moduls finden Sie auf der Startseite der URL Rewrite-Erweiterung.
Aktualisierung von der Go-Live-Version
Wenn Sie bereits die Go Live-Version des URL-Neuschreibungsmoduls installiert haben, wird es auf URL Rewrite Version 2.0 aktualisiert. Alle Rewrite-Regeln in Ihren ApplicationHost.config- und Web.config-Dateien werden beibehalten.
ASP.NET Update
Das Url Rewrite-Modulinstallationspaket enthält ein ASP.NET Update, das ASP.NET Fehler behebt, die speziell für das URL Rewrite-Modul spezifisch sind. Insbesondere enthält das Update Korrekturen für die folgenden Fehler:
- Der Tilde-Operator "~" im ASP.NET-Webserver-Steuerelement wird nicht korrekt aufgelöst, wenn URL Rewrite verwendet wird.
- ASP.NET SiteMap.CurrentNode-Eigenschaft gibt null zurück, wenn sitemap virtuelle URLs enthält.
Das Update wird nur angewendet, wenn der Computer, auf dem das URL Rewrite-Modul installiert wird, .NET Framework, Version 3.5 SP1 oder höher, installiert ist. Wenn Sie nach der Installation des URL Rewrite-Moduls die erforderliche Version von .NET Framework installieren, können Sie das ASP.NET Update anwenden, indem Sie das Installationsprogramm für das URL Rewrite-Modul ausführen und dann im Installationsdialogfeld die Option "Reparieren" auswählen.
Weitere Informationen zu diesen und anderen ASP.NET Problemen im Zusammenhang mit der URL-Umschreibung finden Sie unter URL-Neuschreibung für ASP.NET Webformulare.
Verwenden des Moduls
In diesen Artikeln werden die Funktionen des URL Rewrite Module behandelt und erläutert, wie sie zum Implementieren allgemeiner URL-Umschreibungsszenarien verwendet werden.
Lernen der Grundlagen
Referenzen und Anleitungen
- URL Rewrite Modul-Konfigurationsreferenz
- URL-Umschreiben und ASP.NET Routing
- URL-Umschreiben und Anforderungsfilterung
- URL-Umschreibung für ASP.NET Web Forms
- Entwickeln von Regelvorlagen für das URL Rewrite-Modul
Änderungen seit der Go Live-Version
Die folgenden Ergänzungen, Änderungen und wichtigen Fehlerbehebungen wurden seit der Go Live-Version am URL-Neuschreibmodul vorgenommen:
- Zeichenfolgenmanipulationsfunktionen UrlEncode und UrlDecode hinzugefügt.
- Zugriff wird bereitgestellt auf eine rohe, ursprüngliche URL über die Servervariable UNENCODED_URL. Diese Servervariable enthält nun die unformatierte codierte URL genau so, wie sie vom Webbrowser angefordert wurde.
- Benutzeroberfläche zum Konfigurieren von Neuschreibregeln für Anwendungsanforderungsrouting (ARR) hinzugefügt.
- Unterstützung für direkte Upgrades aus der Go Live-Version des URL-Neuschreibmoduls hinzugefügt.
- Es wurden Funktionen hinzugefügt, um den internen Cache zu bereinigen, um eine übermäßige Speicherauslastung beim Zwischenspeichern von Regeln zum Umschreiben zu vermeiden.
- Es wurde ein Fehler im Zusammenhang mit der Neuschreibung von URLs behoben, die Nicht-ASCII-Zeichen enthalten.
- Es wurde ein Fehler beim Verarbeiten regulärer Ausdrücke behoben, der dazu führte, dass Zeichenbereiche bei Mustern ohne Groß-/Kleinschreibung falsch ausgewertet wurden.
- Enthält ein Update für das IIS FastCGI-Modul in das Installationspaket.
- Enthält ein Update für System.Web.dll in das Installationspaket.
- Enthält ein Update für die IIS SetUri-Funktion in das Installationspaket.
Bekannte Probleme
- mod_rewrite Regeln, die die Servervariablen REQUEST_URI verwenden, funktionieren möglicherweise nicht ordnungsgemäß, wenn sie mit der URL Rewrite-Funktion "Import Rules" importiert werden. Um die Verwendung importierter Regeln zu beheben, können Sie einen beliebigen Text-Editor verwenden, um die Web.config Datei zu öffnen, die diese Regeln enthält. Suchen Sie den
<rewrite>Abschnitt, und ersetzen Sie dann innerhalb dieses Abschnitts alle Instanzen der Zeichenfolge "{SCRIPT_NAME}" durch die Zeichenfolge "{URL}". - Die Digestauthentifizierung kann nicht mit dem URL-Modul "Neu schreiben" verwendet werden.
- ASP.NET Formularauthentifizierung verwendet umgeschriebene URL für die Umleitung. Wenn die angeforderte URL beispielsweise "/article.htm" lautet und das URL Rewrite-Modul die URL in "/article.aspx" umschreibt, die durch die Formularauthentifizierung geschützt ist, wird ASP.NET zu "/login.aspx umgeleitet? ReturnUrl=%2Farticle.aspx".
- Der Modus für die automatische Erkennung in ASP.NET Formularauthentifizierung verwendet eine umgeschriebene URL für die Umleitung. Wenn die angeforderte URL beispielsweise "/article.htm" lautet und das URL Rewrite-Modul die URL in "/article.aspx" umschreibt, die durch die Formularauthentifizierung geschützt ist, wird ASP.NET zu "/article.aspx umgeleitet? AspxAutoDetectCookieSupport=1".
- Die UseUri-Mode in der ASP.NET-Forms-Authentifizierung verwendet die umgeschriebene URL zur Weiterleitung. Wenn die angeforderte URL beispielsweise "/article.htm" lautet und das URL Rewrite-Modul die URL in "/article.aspx" umschreibt, die durch die Formularauthentifizierung geschützt ist, leitet ASP.NET zu "/(S(vy2ebt45imfkmjjwboow3l55))/article.aspx" um.
- ASP.NET wird bei Verwendung der URI-basierten Authentifizierung oder des Sitzungszustands ohne Cookie wieder in die ursprüngliche URL umgeschrieben. Wenn z. B. eine Anforderung an "/(S(vy2ebt45imfkmjjwboow3l55))/article.htm" gestellt wird und das URL-Umschreibungsmodul "/article.htm" in "/article.aspx" umschreibt, wird ASP.NET die URL wieder in "/article.htm" ändern, was zu einem "404 - Datei nicht gefunden" Fehler führen kann.
- Das IIS DefaultDocument-Modul kann zu einer umgeschriebenen URL weiterleiten, wenn das URL Rewrite-Modul zu einem Ordner umschreibt. Wenn die Ersetzungs-URL in einer Umschreibregel beispielsweise "/folder1/folder2" lautet und diese Ordner im Dateisystem vorhanden sind und ein Standarddokument konfiguriert ist, leitet das DefaultDocument-Modul Webclients an "/folder1/folder2/" um, wodurch die umgeschriebene URL verfügbar ist. Um dies zu verhindern, verwenden Sie "/" am Ende der Ersetzungs-URL beim Umschreiben in einen Ordner, z. B. "/folder1/folder2/"