Freigeben über


Hinzufügen von HTTP-Umleitungen mit Platzhalter <add>

Übersicht

Das <add>-Element des <httpRedirect>-Elements fügt der Sammlung von Umleitungsregeln eine Umleitungsregel mit Platzhalter hinzu. Platzhalterregeln ermöglichen das Hinzufügen von Umleitungsregeln für Inhaltsgruppen. Wenn Sie z. B. alle Ihre ASP-Seiten entfernt haben, nachdem Sie eine Anwendung zu .NET-Seiten migriert haben, die die Dateinamenerweiterung „*.aspx“ verwenden, können Sie eine Umleitungsregel mit Platzhalter hinzufügen, die alle an „*.asp“ gerichteten Anforderungen für Ihre alte ASP-basierte Anwendung an die Startseite Ihrer Website umleitet.

Hinweis

Wenn Sie Umleitungsregeln mit Platzhalter hinzufügen, müssen Sie den Standardzielwert im <httpRedirect>-Abschnitt entfernen, damit die Platzhalterregeln funktionieren.

Kompatibilität

Version Hinweise
IIS 10.0 Das <add>-Element wurde in IIS 10.0 nicht geändert.
IIS 8.5 Das <add>-Element wurde in IIS 8.5 nicht geändert.
IIS 8.0 Das <add>-Element wurde in IIS 8.0 nicht geändert.
IIS 7.5 Das <add>-Element wurde in IIS 7.5 nicht geändert.
IIS 7.0 Das <add>-Element des <httpRedirect>-Elements wurde in IIS 7.0 eingeführt.
IIS 6.0 N/V

Setup

Die HTTP-Umleitung ist in der Standardinstallation von IIS 7 und höheren Versionen nicht verfügbar. Führen Sie die folgenden Schritte aus, um sie zu installieren:

Windows Server 2012 oder Windows Server 2012 R2

  1. Klicken Sie auf der Taskleiste auf Server-Manager.
  2. Klicken Sie im Server-Manager auf Verwalten und dann auf Rollen und Features hinzufügen.
  3. Klicken Sie im Assistenten zum Hinzufügen von Rollen und Features auf Weiter. Wählen Sie den Installationstyp aus, und klicken Sie auf Weiter. Wählen Sie den Zielserver aus, und klicken Sie auf Weiter.
  4. Erweitern Sie auf der Seite Serverrollen das Element Webserver (IIS). Erweitern Sie anschließend Webserver und Allgemeine HTTP-Features, und wählen Sie dann HTTP-Umleitung aus. Klicken Sie auf Weiter.
    Screenshot of a dropdown menu in I I S Manager. H T T P Redirection is highlighted.
  5. Klicken Sie auf der Seite Features auswählen auf Weiter.
  6. Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.
  7. Klicken Sie auf der Seite Ergebnisse auf Schließen.

Windows 8 oder Windows 8.1

  1. Bewegen Sie auf dem Startbildschirm den Mauszeiger ganz nach links unten, klicken Sie mit der rechten Maustaste auf die Schaltfläche Start, und klicken Sie dann auf Systemsteuerung.
  2. Klicken Sie in der Systemsteuerung auf Programme und Features und dann auf Windows-Features aktivieren oder deaktivieren.
  3. Erweitern Sie Internetinformationsdienste > WWW-Dienste > Allgemeine HTTP-Features, und wählen Sie anschließend HTTP-Umleitung aus.
    Screen shot of the Windows Features dialog box. H T T P Redirection is highlighted in the drop down menu.
  4. Klicken Sie auf OK.
  5. Klicken Sie auf Schließen.

Windows Server 2008 oder Windows Server 2008 R2

  1. Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltungstools, und klicken Sie dann auf Server-Manager.
  2. Erweitern Sie im Hierarchiebereich Server-Manager die Option Rollen, und klicken Sie dann auf Webserver (IIS).
  3. Scrollen Sie im Bereich Webserver (IIS) zum Abschnitt Rollendienste, und klicken Sie dann auf Rollendienste hinzufügen.
  4. Erweitern Sie auf der Seite Rollendienste auswählen des Assistenten zum Hinzufügen von Rollendiensten das Element Allgemeine HTTP-Features, wählen Sie HTTP-Umleitung aus, und klicken Sie dann auf Weiter.
    Screenshot of the Add Roll Services wizard displaying the Select Role Services page. H T T P Redirection is highlighted in the drop down menu.
  5. Klicken Sie auf der Seite Installationsauswahl bestätigen auf Installieren.
  6. Klicken Sie auf der Seite Ergebnisse auf Schließen.

Windows Vista oder Windows 7

  1. Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
  2. Klicken Sie in der Systemsteuerung auf Programme und Features und dann auf Windows-Features aktivieren oder deaktivieren.
  3. Erweitern Sie Internetinformationsdienste > WWW-Dienste > Allgemeine HTTP-Features.
  4. Wählen Sie HTTP-Umleitung aus, und klicken Sie dann auf OK.
    Screenshot of the Windows Features dialog box. H T T P Redirection is highlighted.

Gewusst wie

Für IIS 7 steht keine Benutzeroberfläche zum Hinzufügen von HTTP-Umleitungen mit Platzhaltern zur Verfügung. Beispiele zum programmgesteuerten Hinzufügen von <add>-Elementen zum <httpRedirect>-Element finden Sie im Abschnitt Codebeispiele dieses Dokuments.

Konfiguration

Attribute

Attribut Beschreibung
destination Erforderliches Zeichenfolgenattribut.

Gibt einen Ort an, an den Anforderungen umgeleitet werden sollen, die dem zugehörigen Platzhalterwert entsprechen.
wildcard Erforderliches Zeichenfolgenattribut.

Gibt einen eindeutigen Platzhalterwert an, mit dem Anforderungen abgeglichen werden. Eine Anforderung wird dann an das angegebene Ziel umgeleitet, wenn die Anforderung dem Platzhalterwert entspricht.

Untergeordnete Elemente

Keine.

Konfigurationsbeispiel

Im folgenden Konfigurationsbeispiel wird ein Umleitungseintrag mit Platzhalter hinzugefügt, der alle Anforderungen für ASP-Dateien an die Startseite Ihrer Website umleitet.

Hinweis

Dieses Beispiel ist hilfreich, wenn Sie alle ASP-basierten Anwendungen von Ihrer Website entfernt haben und möchten, dass Clientanforderungen für die alten Anwendungen an den Stamm Ihrer Website umgeleitet werden, anstatt eine Antwort vom Typ HTTP 404 – Nicht gefunden auszugeben.

<configuration>
   <system.webServer>
      <httpRedirect enabled="true" exactDestination="true" httpResponseStatus="Found">
         <add wildcard="*.php" destination="/default.htm" />
      </httpRedirect>
   </system.webServer>
</configuration>

Beispielcode

In den folgenden Codebeispielen wird ein Umleitungseintrag hinzugefügt, der alle Anforderungen für ASP-Dateien an die Startseite Ihrer Website umleitet.

Hinweis

Dieses Beispiel ist hilfreich, wenn Sie alle ASP-basierten Anwendungen von Ihrer Website entfernt haben und möchten, dass Clientanforderungen für die alten Anwendungen an den Stamm Ihrer Website umgeleitet werden, anstatt eine Antwort vom Typ HTTP 404 – Nicht gefunden auszugeben.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/httpRedirect /enabled:"True" /exactDestination:"True" /httpResponseStatus:"Found"

appcmd.exe set config "Default Web Site" -section:system.webServer/httpRedirect /+"[wildcard='*.asp',destination='/default.htm']"

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using(ServerManager serverManager = new ServerManager()) { 
         Configuration config = serverManager.GetWebConfiguration("Default Web Site");

         ConfigurationSection httpRedirectSection = config.GetSection("system.webServer/httpRedirect");
         httpRedirectSection["enabled"] = true;
         httpRedirectSection["exactDestination"] = true;
         httpRedirectSection["httpResponseStatus"] = @"Found";

         ConfigurationElementCollection httpRedirectCollection = httpRedirectSection.GetCollection();
         ConfigurationElement addElement = httpRedirectCollection.CreateElement("add");
         addElement["wildcard"] = @"*.asp";
         addElement["destination"] = @"/default.htm";
         httpRedirectCollection.Add(addElement);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetWebConfiguration("Default Web Site")

      Dim httpRedirectSection As ConfigurationSection = config.GetSection("system.webServer/httpRedirect")
      httpRedirectSection("enabled") = True
      httpRedirectSection("exactDestination") = True
      httpRedirectSection("httpResponseStatus") = "Found"

      Dim httpRedirectCollection As ConfigurationElementCollection = httpRedirectSection.GetCollection
      Dim addElement As ConfigurationElement = httpRedirectCollection.CreateElement("add")
      addElement("wildcard") = "*.asp"
      addElement("destination") = "/default.htm"
      httpRedirectCollection.Add(addElement)

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";

var httpRedirectSection = adminManager.GetAdminSection("system.webServer/httpRedirect", "MACHINE/WEBROOT/APPHOST/Default Web Site");
httpRedirectSection.Properties.Item("enabled").Value = true;
httpRedirectSection.Properties.Item("exactDestination").Value = true;
httpRedirectSection.Properties.Item("httpResponseStatus").Value = "Found";

var httpRedirectCollection = httpRedirectSection.Collection;
var addElement = httpRedirectCollection.CreateNewElement("add");
addElement.Properties.Item("wildcard").Value = "*.asp";
addElement.Properties.Item("destination").Value = "/default.htm";
httpRedirectCollection.AddElement(addElement);

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site"

Set httpRedirectSection = adminManager.GetAdminSection("system.webServer/httpRedirect", "MACHINE/WEBROOT/APPHOST/Default Web Site")
httpRedirectSection.Properties.Item("enabled").Value = True
httpRedirectSection.Properties.Item("exactDestination").Value = True
httpRedirectSection.Properties.Item("httpResponseStatus").Value = "Found"

Set httpRedirectCollection = httpRedirectSection.Collection
Set addElement = httpRedirectCollection.CreateNewElement("add")
addElement.Properties.Item("wildcard").Value = "*.asp"
addElement.Properties.Item("destination").Value = "/default.htm"
httpRedirectCollection.AddElement(addElement)

adminManager.CommitChanges()