Freigeben über


Umleitungsheader <redirectHeaders>

Übersicht

Das <redirectHeaders>-Element gibt eine Sammlung benutzerdefinierter HTTP-Header an, die Internetinformationsdienste 7 (Internet Information Services, IIS) zu HTTP-Umleitungen hinzufügt.

Hinweis

HTTP-Header sind Name-Wert-Paare, die in Antworten von einem Webserver zurückgegeben werden. Im Gegensatz zu benutzerdefinierten Headern, die in jeder Antwort von einem Webserver zurückgegeben werden, werden Umleitungsheader nur zurückgegeben, wenn eine Umleitung erfolgt.

Kompatibilität

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

Setup

Das <redirectHeaders>-Element des <httpProtocol>-Elements ist in der Standardinstallation von IIS 7 enthalten.

Gewusst wie

Für IIS 7 steht keine Benutzeroberfläche zum Hinzufügen von Werten zum <redirectHeaders>-Element zur Verfügung. Beispiele zum programmgesteuerten Hinzufügen von Werten zum <redirectHeaders>-Element finden Sie im Abschnitt Codebeispiele dieses Dokuments.

Konfiguration

Attribute

Keine

Untergeordnete Elemente

Element Beschreibung
add Optionales Element.

Fügt der <redirectHeaders>-Sammlung einen Antwortheader hinzu.
clear Optionales Element.

Entfernt alle Verweise auf Antwortheader aus der <redirectHeaders>-Sammlung.
remove Optionales Element.

Entfernt einen Verweis auf einen Antwortheader aus der <redirectHeaders>-Sammlung.

Konfigurationsbeispiel

Im folgenden Konfigurationsbeispiel werden ein benutzerdefinierter HTTP-Header und ein Wert angegeben, die der Antwort nur hinzugefügt werden, wenn IIS 7 eine Anforderung umleitet.

<configuration>
   <system.webServer>
      <httpProtocol>
         <redirectHeaders>
            <add name="X-Custom-Redirect-Header" value="MyRedirectValue" />
         </redirectHeaders>
      </httpProtocol>
   </system.webServer>
</configuration>

Hinweis

Das folgende <httpProtocol>-Standardelement wird in IIS 7 in der Datei „ApplicationHost.config“ konfiguriert.

<httpProtocol>
   <customHeaders>
      <clear />
      <add name="X-Powered-By" value="ASP.NET" />
   </customHeaders>
   <redirectHeaders>
      <clear />
   </redirectHeaders>
</httpProtocol>

Beispielcode

In den folgenden Codebeispielen werden ein benutzerdefinierter HTTP-Header und ein Wert angegeben, die der Antwort nur hinzugefügt werden, wenn IIS 7 eine Anforderung umleitet.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/httpProtocol /+"redirectHeaders.[name='X-Custom-Redirect-Header',value='MyRedirectValue']"

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 httpProtocolSection = config.GetSection("system.webServer/httpProtocol");
         ConfigurationElementCollection redirectHeadersCollection = httpProtocolSection.GetCollection("redirectHeaders");

         ConfigurationElement addElement = redirectHeadersCollection.CreateElement("add");
         addElement["name"] = @"X-Custom-Redirect-Header";
         addElement["value"] = @"MyRedirectValue";
         redirectHeadersCollection.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 httpProtocolSection As ConfigurationSection = config.GetSection("system.webServer/httpProtocol")
      Dim redirectHeadersCollection As ConfigurationElementCollection = httpProtocolSection.GetCollection("redirectHeaders")

      Dim addElement As ConfigurationElement = redirectHeadersCollection.CreateElement("add")
      addElement("name") = "X-Custom-Redirect-Header"
      addElement("value") = "MyRedirectValue"
      redirectHeadersCollection.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 httpProtocolSection = adminManager.GetAdminSection("system.webServer/httpProtocol", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var redirectHeadersCollection = httpProtocolSection.ChildElements.Item("redirectHeaders").Collection;

var addElement = redirectHeadersCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "X-Custom-Redirect-Header";
addElement.Properties.Item("value").Value = "MyRedirectValue";
redirectHeadersCollection.AddElement(addElement);

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site"
Set httpProtocolSection = adminManager.GetAdminSection("system.webServer/httpProtocol", "MACHINE/WEBROOT/APPHOST/Default Web Site")
Set redirectHeadersCollection = httpProtocolSection.ChildElements.Item("redirectHeaders").Collection

Set addElement = redirectHeadersCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "X-Custom-Redirect-Header"
addElement.Properties.Item("value").Value = "MyRedirectValue"
redirectHeadersCollection.AddElement(addElement)

adminManager.CommitChanges()