
Estoy atascado en una regla de reescritura de IIS muy simple. Tengo una serie de enlaces que tienen una ruta no válida y necesito redirigir todas las solicitudes a esa ruta a una nueva.
Aquí está el camino roto: https://documentation.buzsoftware.com/buzdocs/BuzClubManager/index.cfm?ID=690
La parte "buzdocs" de la ruta ya no existe y todos los enlaces debajo de esta ruta se han movido una carpeta hacia arriba a esta ruta de ejemplo (que funciona): https://documentation.buzsoftware.com/BuzClubManager/index.cfm?ID=690
<rule name="buzdocs_path_del" stopProcessing="true">
<match url="(.*)/buzdocs(.*)" />
<action type="Rewrite" url="{R:1}{R:2}" appendQueryString="false" />
</rule>
o
<rule name="buzdocs_path_del" stopProcessing="true">
<match url="https://documentation.buzsoftware.com/buzdocs(.*)" />
<action type="Rewrite" url="https://documentation.buzsoftware.com/{R:1}" appendQueryString="false" />
</rule>
He estado probando una amplia variedad de patrones de expresiones regulares y cada vez que voy a la ruta incorrecta obtengo un 404 y no soy redirigido.
No estoy seguro de si necesito usar ^ (inicio de línea) o $ (final de línea) en la coincidencia del patrón, probé ambos con el mismo resultado.
Usar solo {R:1} (primer ejemplo) versus usar {R:1} y {R:2} (segundo ejemplo), no estoy seguro de cuál es la forma correcta. Cualquier comentario sobre las mejores prácticas sería útil.
También he ido y venido entre <action type="Rewrite"
y <action type="Redirect"
, sin cambios.
Estos enlaces son a un sitio activo, no dude en acceder a ellos. Gracias por cualquier consejo, estoy bastante seguro de que me falta algo pequeño y probablemente me golpearé la cabeza con el escritorio por ello.