HttpContext.RewritePath rompe la estructura de IIS gzip

Hola.

estoy usandoHttpContext.RewritePath para dirigir la solicitud a las carpetas internas del sitio dependiendo de la solicitud y el host.

Problema: cuando hago cualquier solicitud que requiera RewritePath para cualquier archivo estático que esté almacenado en caché y GZIPped por IIS, recibo en respuesta contenido original de archivo no comprimido conContent-Encoding: gzip encabezado, lo que conduce a un error de "Descodificación de contenido ha fallado" Pero cuando hago la misma solicitud pero con la ruta completa del directorio (en ese caso, RewritePath se omite en mi código), obtengo el contenido comprimido correcto conContent-Encoding: gzip.


P.ej.:
Situación con error:
Solicitar url:localhost/lib/ext_3.4.0/resources/css/ext-all.css
La ruta de la solicitud se vuelve a escribir utilizando HttpContext.RewritePath para:localhost/_sites/mainSite/lib/ext_3.4.0/resources/css/ext-all.css

La primera respuesta no está comprimida: el comportamiento habitual de IIS. Cuando presiono ctrl + F5, aparece el error "La decodificación del contenido ha fallado". Al usar Fiddler2 puedo ver que el contenido de la respuesta no está comprimido y contiene.Content-Encoding: gzip encabezamiento.

Situación sin error:
Solicitar url:localhost/_sites/mainSite/lib/ext_3.4.0/resources/css/ext-all.css
La ruta de solicitud no se reescribe porque no es necesaria.

La primera respuesta no se vuelve a comprimir. Cuando presiono ctrl + F5, obtengo el contenido normal del archivo. Al usar Fiddler2 puedo ver que el contenido de la respuesta está comprimido, el tamaño es 5 veces menor y contieneContent-Encoding: gzip encabezamiento.


No puedo desechar RewritePath y necesito IIS gzip. ¿Hay alguna manera de hacerlos amigos?

Respuestas a la pregunta(0)

Su respuesta a la pregunta