Adición de redireccionamientos de caracteres comodín HTTP <add>
Información general
El elemento <add>
del elemento <httpRedirect>
agrega una regla de redireccionamiento de caracteres comodín a la colección de reglas de redireccionamiento. Las reglas de caracteres comodín permiten agregar reglas de redireccionamiento para grupos de contenido. Por ejemplo, si ha quitado todas las páginas *.asp después de migrar una aplicación a páginas de .NET que usan extensiones de nombre de archivo *.aspx, puede agregar una regla de redireccionamiento de caracteres comodín que redirija todas las solicitudes *.asp de la aplicación antigua basada en ASP a la página principal del sitio web.
Nota:
Si agrega reglas de redireccionamiento de caracteres comodín, debe quitar el valor de destino predeterminado de la <httpRedirect>
sección para que funcionen las reglas de caracteres comodín.
Compatibilidad
Versión | Notas |
---|---|
IIS 10.0 | El elemento <add> no se modificó en IIS 10.0. |
IIS 8.5 | El elemento <add> no se modificó en IIS 8.5. |
IIS 8.0 | El elemento <add> no se modificó en IIS 8.0. |
IIS 7.5 | El elemento <add> no se modificó en IIS 7.5. |
IIS 7.0 | El elemento <add> del elemento <httpRedirect> se introdujo en IIS 7.0. |
IIS 6,0 | N/D |
Configuración
El redireccionamiento HTTP no está disponible en la instalación predeterminada de IIS 7 y versiones posteriores. Para instalarlo, siga estos pasos:
Windows Server 2012 o Windows Server 2012 R2
- En la barra de tareas, haga clic en Administrador del servidor.
- En Administrador del servidor, haga clic en el menú Administrar y, después, haga clic en Agregar roles y características.
- En el asistente para Agregar roles y características, haga clic en Siguiente. Seleccione el tipo de instalación y haga clic en Siguiente. Seleccione el servidor de destino y haga clic en Siguiente.
- En la página Roles de servidor, expanda Servidor web (IIS), expanda Servidor web, expanda Características HTTP comunes y después seleccione Redireccionamiento HTTP. Haga clic en Next.
. - En la página Seleccionar características, haz clic en Siguiente.
- En la página Confirmar selecciones de instalación, haga clic en Instalar.
- En la página Resultados , haga clic en Cerrar.
Windows 8 o Windows 8.1
- En la pantalla Inicio, mueva el puntero hasta la esquina inferior izquierda, haga clic con el botón derecho en el botón Inicio y, a continuación, haga clic en Panel de control.
- En Panel de control, haga clic en Programas y características y después en Activar o desactivar las características de Windows.
- Expanda Internet Information Services, expanda World Wide Web Services, expanda Características HTTP comunes, y después seleccione Redireccionamiento HTTP.
- Haga clic en OK.
- Haga clic en Cerrar.
Windows Server 2008 o Windows Server 2008 R2
- En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, luego, haga clic en Administrador del servidor.
- En el panel de jerarquía del Administrador del servidor, expanda Roles y, luego, haga clic en Servidor web (IIS).
- En el panel Servidor web (IIS), desplácese hasta la sección Servicios de rol y, luego, haga clic en Agregar servicios de rol.
- En la página Seleccionar servicios de rol del Asistente para agregar servicios de rol, expanda Características HTTP comunes, seleccione Redireccionamiento HTTP y después haga clic en Siguiente.
- En la página Confirmar selecciones de instalación, haz clic en Instalar.
- En la página Resultados , haga clic en Cerrar.
Windows Vista o Windows 7
- En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
- En Panel de control, haga clic en Programas y características y después en Activar o desactivar las características de Windows.
- Expanda Internet Information Services, después World Wide Web Services y, a continuación Características HTTP comunes.
- Seleccione Redireccionamiento HTTP y, a continuación, haga clic en Aceptar.
Procedimientos
No hay ninguna interfaz de usuario para agregar redireccionamientos HTTP con caracteres comodín para IIS 7. Para obtener ejemplos de cómo agregar elementos <add>
al elemento <httpRedirect>
mediante programación, consulte la sección Ejemplos de código de este documento.
Configuración
Atributos
Atributo | Descripción |
---|---|
destination |
Atributo de cadena necesario. Especifica una ubicación a la que redirigir las solicitudes que coinciden con el valor de carácter comodín relacionado. |
wildcard |
Atributo de cadena necesario. Especifica un valor de carácter comodín único con el que se comparan las solicitudes. A continuación, se redirige una solicitud al destino especificado si la solicitud coincide con el valor de carácter comodín. |
Elementos secundarios
Ninguno.
Ejemplo de configuración
En el ejemplo de configuración siguiente se agrega una entrada de redireccionamiento de caracteres comodín que redirige todas las solicitudes de archivos ASP a la página principal del sitio web.
Nota:
Este ejemplo es útil si ha quitado todas las aplicaciones basadas en ASP del sitio web y desea que las solicitudes cliente de las aplicaciones antiguas se redirijan a la raíz del sitio web en lugar de recibir una respuesta HTTP 404 No encontrado.
<configuration>
<system.webServer>
<httpRedirect enabled="true" exactDestination="true" httpResponseStatus="Found">
<add wildcard="*.php" destination="/default.htm" />
</httpRedirect>
</system.webServer>
</configuration>
Código de ejemplo
En los ejemplos de código siguientes se agrega una entrada de redireccionamiento de caracteres comodín que redirige todas las solicitudes de archivos ASP a la página principal del sitio web.
Nota:
Este ejemplo es útil si ha quitado todas las aplicaciones basadas en ASP del sitio web y desea que las solicitudes cliente de las aplicaciones antiguas se redirijan a la raíz del sitio web en lugar de recibir una respuesta HTTP 404 No 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()