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:

  1. IIS 7.0 oder höher mit aktiviertem ASP.NET-Rollendienst;
  2. 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.

Screenshot of the U R L Rewrite Module Test Page webpage.

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:

  1. Navigieren Sie zum IIS-Manager.

  2. Klicken Sie auf „Standardwebsite“.

  3. Wählen Sie in der Featureansicht die Option „URL umschreiben“ aus.
    Screenshot of the Default Web Site Home screen with the U R L Rewrite option being highlighted.

  4. Klicken Sie im Bereich „Aktionen“ auf der rechten Seite auf Regeln hinzufügen….
    Screenshot of the U R L Rewrite screen with a focus on the Add Rules option.

  5. Wählen Sie im Dialogfeld „Regeln hinzufügen„ die Option „Regel mit Umschreibungszuordnung“ aus, und klicken Sie auf „OK“.
    Screenshot of the Add rules dialog with the Rule with rewrite map option being highlighted.

  6. 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.
    Screenshot of the Add rule with rewrite map dialog.

  7. 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.

  8. 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.
    Screenshot of the Add Mapping Entry dialog showing the Original value and New value fields.

  9. 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&amp;title=some-title" />
            <add key="/some-title" value="/article.aspx?id=1&amp;title=some-title" />
            <add key="/post/some-title.html" value="/article.aspx?id=1&amp;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:

Screenshot of the U R L Rewrite Module Test Page showing the Original U R L and Final U R L fields.

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.