Condividi tramite


Reindirizzamento intestazioni di reindirizzamentoHeaders <>

Panoramica

L'elemento <redirectHeaders> specifica una raccolta di intestazioni HTTP personalizzate che Internet Information Services (IIS) 7 aggiungerà ai reindirizzamenti HTTP.

Nota

Le intestazioni HTTP sono coppie nome e valore restituite nelle risposte da un server Web. A differenza delle intestazioni personalizzate, che vengono restituite in ogni risposta da un server Web, le intestazioni di reindirizzamento vengono restituite solo quando si verifica il reindirizzamento.

Compatibilità

Versione Note
IIS 10.0 L'elemento <redirectHeaders> non è stato modificato in IIS 10.0.
IIS 8,5 L'elemento <redirectHeaders> non è stato modificato in IIS 8.5.
IIS 8,0 L'elemento <redirectHeaders> non è stato modificato in IIS 8.0.
IIS 7,5 L'elemento <redirectHeaders> non è stato modificato in IIS 7.5.
IIS 7.0 L'elemento <redirectHeaders> dell'elemento <httpProtocol> è stato introdotto in IIS 7.0.
IIS 6.0 N/D

Installazione

L'elemento <redirectHeaders> dell'elemento è incluso nell'installazione <httpProtocol> predefinita di IIS 7.

Procedure

Non è disponibile alcuna interfaccia utente per l'aggiunta di valori all'elemento <redirectHeaders> per IIS 7. Per esempi di come aggiungere valori all'elemento <redirectHeaders> a livello di codice, vedere la sezione Esempi di codice di questo documento.

Configurazione

Attributi

Nessuno.

Elementi figlio

Elemento Descrizione
add Elemento facoltativo.

Aggiunge un'intestazione di risposta alla <redirectHeaders> raccolta.
clear Elemento facoltativo.

Rimuove tutti i riferimenti alle intestazioni di risposta dalla <redirectHeaders> raccolta.
remove Elemento facoltativo.

Rimuove un riferimento a un'intestazione di risposta dalla <redirectHeaders> raccolta.

Esempio di configurazione

Nell'esempio di configurazione seguente viene specificata un'intestazione e un valore HTTP personalizzati che verranno aggiunti alla risposta solo quando IIS 7 reindirizza una richiesta.

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

Nota

L'elemento predefinito <httpProtocol> seguente viene configurato nel file ApplicationHost.config in IIS 7.

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

Codice di esempio

Gli esempi di codice seguenti specificano un'intestazione e un valore HTTP personalizzati che verranno aggiunti alla risposta solo quando IIS 7 reindirizza una richiesta.

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