Freigeben über


Hinzufügen von Umleitungsheadern <add>

Übersicht

Das <add>-Element des <redirectHeaders>-Elements fügt einen HTTP-Antwortheader zur Sammlung benutzerdefinierter HTTP-Header hinzu, 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 <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 <redirectHeaders>-Elements wurde in IIS 7.0 eingeführt.
IIS 6.0 N/V

Setup

Das <add>-Element des <redirectHeaders>-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

Attribut Beschreibung
name Erforderliches Zeichenfolgenattribut.

Gibt einen Feldnamen für den Umleitungsheader an. In einer Antwort steht ein Feldname vor dem zugehörigen Feldwert.
Value Optionales Zeichenfolgeattribut.

Gibt einen Feldwert für den Umleitungsheader an. In einer Antwort folgt ein Feldwert auf den zugehörigen Feldnamen.

Untergeordnete Elemente

Keine.

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