URLs relativas y Rewrite en ASP.Net

Mejorando el algoritmo de rewriting en sacaCasa.com me he encontrado con un viejo conocido un tanto problemático pero que en esta ocasión he sido capaz de tumbar por K.O., las URLs relativas cuando colocas una URL falsa simulando un directorio.

Pongamos que tenemos la siguiente url virtual: www.misupermercado.com/frutas/fresas/ cuando en realidad se dirige a www.misupermercado.com/mostrador.aspx?cat=2&prod=1. La ruta real se encuentra en el directorio raíz, mientras que la mostrada en el explorador muestra hasta 2 subdirectorios, con el rewrite la redirección no supone problema, excepto si dentro de esa misma página existen llamadas a otros objetos con rutas relativas. Me explico:

Pongamos que por ejemplo hacemos una llamada a una imagen, para que el proyecto sea portable la ruta de la imagen será algo parecido a esto: “./imagenes/fresas.jpg“. Pues eso mismo y a causa del rewrite se convertirá en: “www.misupermercado.com/frutas/fresas/imagenes/fresas.jpg“; y claro, en esa ruta no existe tal imagen…

¿Cómo evitarlo?

Continue reading URLs relativas y Rewrite en ASP.Net