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