En entornos Microsoft, para disponer de URL Rewrite como en Apache con Mod Rewrite, debíamos instalar un componente isapi en el servidor. La opción más conocida es Isapi Rewrite de Helicon.
En IIS7 disponemos de un módulo oficial creado por el equipo de IIS7, que ha sido publicado hace unos días en su versión Go Live Release, apta para entornos de producción.

Podemos crear reglas desde el administrador de IIS7, a mano o mediante una interfaz “para torpes”, o desde el archivo webconfig.xml de cada sitio web.
Entre las funcionalidades más interesantes que puede ofrecernos este módulo se encuentran la posibilidad de cachear las reglas por el servidor web, disponer de una herramienta gráfica para importar reglas de mod_rewrite de apache y la integración con las trazas de iis para detectar errores en las reglasque creemos.
La gestión de las reglas en el webconfig es tremendamente sencilla:
<rewrite>
<rules>
<rule name="Fail bad requests">
<match url=".*"/>
<conditions>
<add input="{HTTP_HOST}" pattern="localhost" negate="true" />
</conditions>
<action type="AbortRequest" />
</rule>
<rule name="Rewrite to article.aspx">
<match url="^blog/([0-9]+)/([_0-9a-z-]+)" />
<action type="Rewrite" url="article.aspx?id={R:1}&title={R:2}" />
</rule>
</rules>
</rewrite>


