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()