Regel mit Umschreibungszuordnung – Regelvorlage
von Ruslan Yakushev
Regelvorlagen bieten eine einfache Möglichkeit zum Erstellen einer oder mehrerer Umschreibungsregeln für ein bestimmtes Szenario. Das URL-Rewrite-Modul enthält verschiedene Regelvorlagen für einige gängige Verwendungsszenarien. Zusätzlich zu dieser Benutzeroberfläche des URL-Rewrite-Moduls steht ein Framework zum Einfügen benutzerdefinierter Regelvorlagen bereit. In dieser exemplarischen Vorgehensweise werden Sie durch die Verwendung der Vorlage „Regel mit Umschreibungzuordnung“ geführt, die im URL-Rewrite-Modul enthalten ist.
Voraussetzungen
Für diese exemplarische Vorgehensweise wird Folgendes vorausgesetzt:
- IIS 7.0 oder höher mit aktiviertem ASP.NET-Rollendienst;
- Installiertes Go Live-Release des URL-Rewrite-Moduls
Einrichten einer Testwebseite
Wir verwenden eine einfache „asp.net“-Testseite, um zu überprüfen, ob die von der Vorlage erstellte Regel korrekt funktioniert. Die Testseite liest einfach die Webservervariablen und gibt ihre Werte im Browser aus.
Kopieren Sie den folgenden ASP.NET-Code und fügen Sie ihn in eine Datei namens „article.aspx“ im Ordner %SystemDrive%\inetpub\wwwroot\
ein:
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>URL Rewrite Module Test</title>
</head>
<body>
<h1>URL Rewrite Module Test Page</h1>
<table>
<tr>
<th>Server Variable</th>
<th>Value</th>
</tr>
<tr>
<td>Original URL: </td>
<td><%= Request.ServerVariables["HTTP_X_ORIGINAL_URL"] %></td>
</tr>
<tr>
<td>Final URL: </td>
<td><%= Request.ServerVariables["SCRIPT_NAME"] + "?" + Request.ServerVariables["QUERY_STRING"] %></td>
</tr>
</table>
</body>
</html>
Navigieren Sie nach dem Kopieren dieser Datei zu http://localhost/article.aspx
, und überprüfen Sie, ob die Seite korrekt in einem Browser gerendert wurde.
Verwenden einer Regelvorlage zum Generieren einer Umschreibungsregel
Mit der Vorlage „Regel mit Umschreibungszuordnung“ können Sie Umschreibungs- und Umleitungsregeln generieren, die Umschreibungszuordnungen zum Speichern statischer Zuordnungen zwischen ursprünglich angeforderten URLs und umgeschriebenen oder umgeleiteten URLs verwenden. Weitere Informationen zur Verwendung von Umschreibungszuordnungen finden Sie in der Referenz zur Konfiguration des URL-Rewrite-Moduls und unter Verwenden von Umschreibungszuordnungen im URL-Rewrite-Modul.
Führen Sie die folgenden Schritte aus, um diese Vorlage zu verwenden:
Navigieren Sie zum IIS-Manager.
Klicken Sie auf „Standardwebsite“.
Wählen Sie in der Featureansicht die Option „URL umschreiben“ aus.
Klicken Sie im Bereich „Aktionen“ auf der rechten Seite auf Regeln hinzufügen….
Wählen Sie im Dialogfeld „Regeln hinzufügen„ die Option „Regel mit Umschreibungszuordnung“ aus, und klicken Sie auf „OK“.
Wählen Sie im Dialogfeld „Regel mit Umschreibungszuordnung in der Dropdownliste „Umschreiben“ aus. Geben Sie im Kombinationsfeld „Umschreibungszuordnung auswählen:“ für den Namen der neuen Umschreibungszuordnung StaticRewrites an.
Klicken Sie auf „OK“. Dadurch wird eine Umschreibungszuordnung mit dem angegebenen Namen und eine Umschreibungsregel mit dem Namen „Umschreibungsregel 1 für StaticRewrites“ erstellt, die auf diese Umschreibungszuordnung verweist.
Nachdem Sie auf „OK“ geklickt haben, gelangen Sie zur Seite, auf der Sie die Zuordnungseinträge für die Umschreibungszuordnung angeben können. Klicken Sie im Aktionsbereich auf der rechten Seite auf „Zuordnungseintrag hinzufügen…“, und geben Sie dann für den ursprünglichen und den neuen Wert des Zuordnungseintrags /article1 bzw. /article.aspx?id=1&title=some-title ein.
Wiederholen Sie den vorherigen Schritt, um wie folgt zwei weitere Zuordnungseinträge hinzuzufügen:
Ursprünglicher Wert: Neuer Wert: /some-title /article.aspx?id=1&title=some-title /post/some-title.html /article.aspx?id=1&title=some-title
Nach Abschluss dieser Schritte sollten die folgende Umschreibungszuordnung und Umschreibungsregel in der C:\inetpub\wwwroot\web.config
-Datei erstellt worden sein.
<rewrite>
<rewriteMaps>
<rewriteMap name="StaticRewrites">
<add key="/article1" value="/article.aspx?id=1&title=some-title" />
<add key="/some-title" value="/article.aspx?id=1&title=some-title" />
<add key="/post/some-title.html" value="/article.aspx?id=1&title=some-title" />
</rewriteMap>
</rewriteMaps>
<rules>
<rule name="Rewrite Rule 1 for StaticRewrites" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{StaticRewrites:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Rewrite" url="{C:1}" appendQueryString="False"/>
</rule>
</rules>
</rewrite>
Testen der Regel
Um die generierte Umschreibungsregel, die die StaticRewrites-Zuordnung verwendet, zu testen, öffnen Sie einen Webbrowser, und fordern Sie eine der folgenden URLs an:
http://localhost/article1
http://localhost/some-title
http://localhost/post/some-title.html
Jede der oben genannten URLs sollte dazu führen, dass die URL gemäß den in der Umschreibungszuordnung definierten Zuordnungen umgeschrieben wird. Die Ergebnisse sollten der folgenden Seite entsprechen:
Zusammenfassung
In dieser exemplarischen Vorgehensweise haben Sie erfahren, wie Sie mithilfe der im URL-Rewrite-Modul enthaltenen Vorlage „Regel mit Umschreibungszuordnungen“ Umschreibungsregeln mit Umschreibungszuordnungen generieren. Diese Regelvorlage kann zum Erstellen einer Regel und einer Platzhalterzuordnung verwendet werden, die eine große Anzahl statischer Umschreibungs- und Umleitungszuordnungen für Ihre Webanwendung enthalten kann.