Por favor, ayúdame a entender reescribir mapas, tengo esta configuración:
<rewriteMap name="MyMap">
<add key="/pages" value="/website/pages/index.aspx" />
<add key="/pages/page-1" value="/website/pages/page-1/index.aspx" />
<add key="/pages/page-1/section-1" value="/website/pages/page-1/section-1.aspx" />
</rewriteMap>
Aquí está mi regla:
<rule name="Rewrite rule for MyMap" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{MyMap:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Rewrite" url="{C:1}" appendQueryString="true" />
</rule>
Esto funciona si intento acceder a estas páginas:
- www.midominio.com/páginas (OK)
- www.midominio.com/pages/page-1 (OK)
- www.midominio.com/pages/page-1/section-1 (OK)
Pero quiero la posibilidad de agregar una cadena de consulta en cualquiera de estas páginas, por ejemplo:
- www.mydomain.com/pages?page=1 (FAIL)
Cuando intento acceder a esta página, obtengo un 404. ¿Cómo puedo hacer que esto funcione?
En lugar de usar
también puedes probar
Mira aquí:
No se pueden obtener redireccionamientos estáticos para trabajar con IIS Url Rewrite 2.0
fuente