715
URL Rewrite es un complemento para el servidor web IIS (Internet Information Services) que permite crear reglas de redireccionamiento y procesar URL. Con la reescritura de URL, puede realizar tareas como redirecciones de HTTP a HTTPS o de www a URL que no sean www, e implementar URL canónicas y URL que sean fáciles de recordar para los usuarios y optimizadas para los motores de búsqueda. En este artículo, le mostraremos cómo instalar y configurar las reglas de reescritura de URL de IIS.
requisitos previos:
- Computadora que ejecuta una versión compatible de Windows (todas las ediciones de escritorio de Windows Server 2022, 2019, 2016, 2012R2 y Windows 11/10/8 son compatibles.1);
- Rol de Internet Information Services 8.0 (o posterior) instalado (actualmente, la última versión de IIS es IIS10);
- Sitio web que se ejecuta en IIS.
¿Cómo configurar las reglas de redirección con el módulo de reescritura de IIS?
Descargue el paquete de instalación de Rewrite Module 2.1 (https://www.iis.net/downloads/microsoft/url-rewrite). Hay versiones x86/x64 de URL Rewrite, así como versiones en distintos idiomas.
En nuestro ejemplo, descargaremos el instalador x64 para Windows Server 2019.
ejecutar el rewrite_amd64_en-US.msi e instale el módulo de reescritura de URL.
Ahora abra la consola del Administrador de Internet Information Services (IIS) desde Herramientas administrativas en el Panel de control (o usando el inetmgr dominio).
Seleccione su sitio y compruebe si ha aparecido una nueva sección de reescritura de URL en el panel central.
Consideremos una regla de reescritura de URL simple que redirige una URL de WWW a no WWW.
Haga clic derecho en el sitio y seleccione Editar enlaces.
Compruebe si ha agregado direcciones de sitios con y sin www (por ejemplo, www.webportal.contoso.com y webportal.contoso.com).
Ejecute su navegador y verifique si su sitio web se abre en ambas URL (¡eso no es bueno desde una perspectiva de SEO!).
Ahora vamos a utilizar la regla de reescritura de URL para habilitar la redirección de la URL con www a la que no es www.
Selecciona el Reescritura de URL módulo y haga clic Añadir regla en el panel derecho.
Puede crear una regla de reescritura manualmente o utilizando una de las plantillas. En este ejemplo, usaremos el predefinido nombre de dominio canónico plantilla de la sección de optimización de motores de búsqueda.
Especifique el nombre de host principal (sin www):
webportal.contoso.com
La nueva regla aparecerá en la lista de reescritura de URL. Esta regla está habilitada de forma predeterminada.
Verifique que IIS ahora lo redirige automáticamente a webportal.contoso.com cuando abres www.webportal.contoso.com en un navegador.
Puede abrir las propiedades de esta regla en el Administrador de IIS.
En nuestro caso, se generó automáticamente la siguiente regla de redirección:
- URL de solicitud: coincide con el patrón
- Usando: Expresión Regulat
- Patrón: (.*)
- Ignorar caso: Verdadero
- Agrupación lógica: emparejar todo
- Entrada de condición: {HTTP_HOST}
- No coincide con el patrón
- Patrón: ^portal web.contoso.com$
- Acción: redirigir
- URL de redirección: http://webportal.contoso.com/{R:1}
- Tipo de redireccionamiento: Permanente (301)
El módulo de reescritura de URL almacena sus reglas en el web.config archivo de configuración del sitio (formato XML). La siguiente sección se ha agregado al archivo en nuestro ejemplo:
<rewrite> <rules> <rule name="CanonicalHostNameRule1"> <match url="(.*)" /> <conditions> <add input="{HTTP_HOST}" pattern="^webportal.contoso.com$" negate="true" /> </conditions> <action type="Redirect" url="http://webportal.contoso.com/{R:1}" /> </rule> </rules> </rewrite>
Pista. El archivo web.config almacena la configuración del sitio web. El applicationHost.config El archivo se utilizará si necesita crear una regla de reescritura de URL global para todos los sitios de IIS en Windows Server.
Otra regla popular de reescritura de URL es la redirección de HTTP a una dirección de sitio HTTPS segura.
Antes de crearlo, deberá crear una solicitud de firma de certificado (CSR) para IIS, obtener un certificado SSL y vincularlo al sitio de IIS. Luego agregue la siguiente regla de reescritura de URL a su archivo web.config:
<rewrite> <rules> <clear /> <rule name="RedirectHTTPtoHTTPS" enabled="true"> <match url="(.*)" ignoreCase="false" /> <conditions> <add input="{HTTPS}" pattern="off" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" /> </rule> </rules> </rewrite>
Puede crear sus propias reglas de redirección en IIS mediante la reescritura de URL.