Compartir a través de


Encabezados de redirección <redirectHeaders>

Información general

El elemento <redirectHeaders> especifica una colección de encabezados HTTP personalizados que Internet Information Services (IIS) 7 agregará a redirecciones HTTP.

Nota:

Los encabezados HTTP son pares de nombre y valor que se devuelven en las respuestas de un servidor web. A diferencia de los encabezados personalizados, que se devuelven en cada respuesta de un servidor web, los encabezados de redireccionamiento solo se devuelven cuando se produce el redireccionamiento.

Compatibilidad

Versión Notas
IIS 10.0 El elemento <redirectHeaders> no se modificó en IIS 10.0.
IIS 8.5 El elemento <redirectHeaders> no se modificó en IIS 8.5.
IIS 8.0 El elemento <redirectHeaders> no se modificó en IIS 8.0.
IIS 7.5 El elemento <redirectHeaders> no se modificó en IIS 7.5.
IIS 7.0 El elemento <redirectHeaders> del elemento <httpProtocol> se introdujo en IIS 7.0.
IIS 6,0 N/D

Configuración

El elemento <redirectHeaders> del elemento <httpProtocol> se incluye en la instalación predeterminada de IIS 7.

Procedimientos

No hay ninguna interfaz de usuario para agregar valores al elemento <redirectHeaders> en IIS 7. Para obtener ejemplos de cómo agregar valores al elemento <redirectHeaders> mediante programación, consulte la sección Ejemplos de código de este documento.

Configuración

Atributos

Ninguno.

Elementos secundarios

Elemento Descripción
add Elemento opcional.

Agrega un encabezado de respuesta a la colección <redirectHeaders>.
clear Elemento opcional.

Quita todas las referencias a encabezados de respuesta de la colección <redirectHeaders>.
remove Elemento opcional.

Quita una referencia a un encabezado de respuesta de la colección <redirectHeaders>.

Ejemplo de configuración

En el ejemplo de configuración siguiente se especifica un encabezado HTTP personalizado y un valor que solo se agregará a la respuesta cuando IIS 7 redirija una solicitud.

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

Nota:

El siguiente elemento predeterminado <httpProtocol> está configurado en el archivo ApplicationHost.config en IIS 7.

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

Código de ejemplo

En los ejemplos de código siguientes se especifica un encabezado HTTP personalizado y un valor que solo se agregará a la respuesta cuando IIS 7 redirija una solicitud.

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