Compartilhar via


Cabeçalhos de Redirecionamento <redirectHeaders>

Visão geral

O elemento <redirectHeaders> especifica uma coleção de cabeçalhos HTTP personalizados que o IIS (Serviços de Informações da Internet) 7 adicionará aos redirecionamentos HTTP.

Observação

Os cabeçalhos HTTP são pares nome-valor que são retornados nas respostas de um servidor Web. Ao contrário dos cabeçalhos personalizados, que são retornados em todas as respostas de um servidor Web, os cabeçalhos de redirecionamento são retornados somente quando ocorre o redirecionamento.

Compatibilidade

Versão Observações
IIS 10.0 O elemento <redirectHeaders> não foi modificado no IIS 10.0.
IIS 8.5 O elemento <redirectHeaders> não foi modificado no IIS 8.5.
IIS 8.0 O elemento <redirectHeaders> não foi modificado no IIS 8.0.
IIS 7.5 O elemento <redirectHeaders> não foi modificado no IIS 7.5.
IIS 7.0 O elemento <redirectHeaders> do elemento <httpProtocol> foi introduzido no IIS 7.0.
IIS 6,0 N/D

Instalação

O elemento <redirectHeaders> do elemento <httpProtocol> está incluído na instalação padrão do IIS 7.

Instruções

Não há nenhuma interface do usuário para adicionar valores ao elemento <redirectHeaders> para o IIS 7. Para obter exemplos de como adicionar valores ao elemento <redirectHeaders> programaticamente, confira a seção Exemplos de Código desse documento.

Configuração

Atributos

Nenhum.

Elementos filho

Elemento Descrição
add Elemento opcional.

Adiciona um cabeçalho de resposta à coleção <redirectHeaders>.
clear Elemento opcional.

Remove todas as referências aos cabeçalhos de resposta da coleção <redirectHeaders>.
remove Elemento opcional.

Remove uma referência a um cabeçalho de resposta da coleção <redirectHeaders>.

Exemplo de configuração

O exemplo de configuração a seguir especifica um cabeçalho HTTP personalizado e um valor que só será adicionado à resposta quando o IIS 7 redirecionar uma solicitação.

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

Observação

O elemento padrão <httpProtocol> a seguir é configurado no arquivo ApplicationHost.config no IIS 7.

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

Exemplo de código

Os exemplos de código a seguir especificam um cabeçalho HTTP personalizado e um valor que só será adicionado à resposta quando o IIS 7 redirecionar uma solicitação.

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