Compartilhar via


Como Adicionar Redirecionamentos Curinga HTTP <add>

Visão geral

O elemento <add> do elemento <httpRedirect> adiciona uma regra de redirecionamento curinga à coleção de regras de redirecionamento. As regras curinga permitem que você adicione regras de redirecionamento para grupos de conteúdo. Por exemplo, se você tiver removido todas as páginas *.asp depois de migrar um aplicativo para páginas do .NET que estão usando extensões de nome de arquivo *.aspx, poderá adicionar uma regra de redirecionamento curinga que redirecionará todas as solicitações *.asp para o aplicativo baseado em ASP antigo para a home page do seu site.

Observação

Se você adicionar regras de redirecionamento curinga, deverá remover o valor de destino padrão na seção <httpRedirect> para que as regras curinga funcionem.

Compatibilidade

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

Instalação

O Redirecionamento HTTP não está disponível na instalação padrão do IIS 7 e posteriores. Para instalar, use as etapas a seguir.

Windows Server 2012 R2 ou Windows Server 2012

  1. Na barra de tarefas, clique em Gerenciador do Servidor.
  2. No Gerenciador do Servidor, clique no menu Gerenciar e clique em Adicionar Funções e Recursos.
  3. No assistente Adicionar Funções e Recursos, clique em Avançar. Selecione o tipo de instalação e clique em Avançar. Selecione o servidor de destino e clique em Avançar.
  4. Na página Funções de Servidor, expanda Servidor Web (IIS), expanda Servidor Web, expanda Recursos HTTP Comuns e, em seguida, selecione Redirecionamento HTTP. Clique em Avançar.
    Screenshot of a dropdown menu in I I S Manager. H T T P Redirection is highlighted. .
  5. Na página Selecionar recursos, clique em Avançar.
  6. Na página Confirmar seleções de instalação, clique em Instalar.
  7. Na página Resultados , clique em Fechar.

Windows 8 ou Windows 8.1

  1. Na tela Iniciar, mova o ponteiro até o canto inferior esquerdo, clique com o botão direito do mouse no botão Iniciar e clique em Painel de Controle.
  2. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar recursos do Windows.
  3. Expanda Serviços de Informações da Internet, Serviços da World Wide Web, Recursos HTTP Comuns e selecione Redirecionamento HTTP.
    Screen shot of the Windows Features dialog box. H T T P Redirection is highlighted in the drop down menu.
  4. Clique em OK.
  5. Clique em Fechar.

Windows Server 2008 R2 ou Windows Server 2008

  1. Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do Servidor.
  2. No painel de hierarquia do Gerenciador do Servidor, expanda Funções e clique em Servidor Web (IIS).
  3. No painel Servidor Web (IIS), role até a seção Serviços de Função e clique em Adicionar Serviços de Função.
  4. Na página Selecionar Serviços de Função do Assistente para Adicionar Serviços de Função, expanda Recursos HTTP Comuns, selecione Redirecionamento HTTP e clique em Avançar.
    Screenshot of the Add Roll Services wizard displaying the Select Role Services page. H T T P Redirection is highlighted in the drop down menu.
  5. Na página Confirmar Seleções de Instalação, clique em Instalar.
  6. Na página Resultados , clique em Fechar.

Windows Vista ou Windows 7

  1. Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
  2. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar Recursos do Windows.
  3. Expanda Serviços de Informações da Internet e, em seguida, Serviços World Wide Web e, em seguida, Recursos HTTP Comuns.
  4. Selecione Redirecionamento HTTP e clique em OK.
    Screenshot of the Windows Features dialog box. H T T P Redirection is highlighted.

Instruções

Não há uma interface do usuário para adicionar redirecionamentos HTTP curinga para o IIS 7. Para obter exemplos de como adicionar elementos <add> ao elemento <httpRedirect> programaticamente, confira a seção Exemplos de Código desse documento.

Configuração

Atributos

Atributo Descrição
destination Atributo de cadeia de caracteres obrigatório.

Especifica um local para o qual devem ser redirecionadas as solicitações que correspondam ao valor curinga relacionado.
wildcard Atributo de cadeia de caracteres obrigatório.

Especifica um valor curinga exclusivo ao qual as solicitações são comparadas. Uma solicitação será redirecionada para o destino especificado, se a solicitação corresponder ao valor curinga.

Elementos filho

Nenhum.

Exemplo de configuração

O exemplo de configuração a seguir adiciona uma entrada de redirecionamento curinga que redireciona todas as solicitações de arquivos ASP para a home page do seu site.

Observação

Este exemplo é útil se você tiver removido todos os aplicativos baseados em ASP do seu site e quiser que as solicitações do cliente para os aplicativos antigos sejam redirecionadas para a raiz do seu site, em vez de receber uma resposta HTTP 404 Não Encontrado.

<configuration>
   <system.webServer>
      <httpRedirect enabled="true" exactDestination="true" httpResponseStatus="Found">
         <add wildcard="*.php" destination="/default.htm" />
      </httpRedirect>
   </system.webServer>
</configuration>

Exemplo de código

Os exemplos de código a seguir adicionam uma entrada de redirecionamento curinga que redireciona todas as solicitações de arquivos ASP para a home page do seu site.

Observação

Este exemplo é útil se você tiver removido todos os aplicativos baseados em ASP do seu site e quiser que as solicitações do cliente para os aplicativos antigos sejam redirecionadas para a raiz do seu site, em vez de receber uma resposta HTTP 404 Não Encontrado.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/httpRedirect /enabled:"True" /exactDestination:"True" /httpResponseStatus:"Found"

appcmd.exe set config "Default Web Site" -section:system.webServer/httpRedirect /+"[wildcard='*.asp',destination='/default.htm']"

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 httpRedirectSection = config.GetSection("system.webServer/httpRedirect");
         httpRedirectSection["enabled"] = true;
         httpRedirectSection["exactDestination"] = true;
         httpRedirectSection["httpResponseStatus"] = @"Found";

         ConfigurationElementCollection httpRedirectCollection = httpRedirectSection.GetCollection();
         ConfigurationElement addElement = httpRedirectCollection.CreateElement("add");
         addElement["wildcard"] = @"*.asp";
         addElement["destination"] = @"/default.htm";
         httpRedirectCollection.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 httpRedirectSection As ConfigurationSection = config.GetSection("system.webServer/httpRedirect")
      httpRedirectSection("enabled") = True
      httpRedirectSection("exactDestination") = True
      httpRedirectSection("httpResponseStatus") = "Found"

      Dim httpRedirectCollection As ConfigurationElementCollection = httpRedirectSection.GetCollection
      Dim addElement As ConfigurationElement = httpRedirectCollection.CreateElement("add")
      addElement("wildcard") = "*.asp"
      addElement("destination") = "/default.htm"
      httpRedirectCollection.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 httpRedirectSection = adminManager.GetAdminSection("system.webServer/httpRedirect", "MACHINE/WEBROOT/APPHOST/Default Web Site");
httpRedirectSection.Properties.Item("enabled").Value = true;
httpRedirectSection.Properties.Item("exactDestination").Value = true;
httpRedirectSection.Properties.Item("httpResponseStatus").Value = "Found";

var httpRedirectCollection = httpRedirectSection.Collection;
var addElement = httpRedirectCollection.CreateNewElement("add");
addElement.Properties.Item("wildcard").Value = "*.asp";
addElement.Properties.Item("destination").Value = "/default.htm";
httpRedirectCollection.AddElement(addElement);

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site"

Set httpRedirectSection = adminManager.GetAdminSection("system.webServer/httpRedirect", "MACHINE/WEBROOT/APPHOST/Default Web Site")
httpRedirectSection.Properties.Item("enabled").Value = True
httpRedirectSection.Properties.Item("exactDestination").Value = True
httpRedirectSection.Properties.Item("httpResponseStatus").Value = "Found"

Set httpRedirectCollection = httpRedirectSection.Collection
Set addElement = httpRedirectCollection.CreateNewElement("add")
addElement.Properties.Item("wildcard").Value = "*.asp"
addElement.Properties.Item("destination").Value = "/default.htm"
httpRedirectCollection.AddElement(addElement)

adminManager.CommitChanges()