HttpContext.RewritePath interrompe o gzip do IIS de buildin
Olá.
estou usandoHttpContext.RewritePath
para direcionar a solicitação para pastas do site interno, dependendo da solicitação e do host.
Problema: Quando faço alguma solicitação que requer o RewritePath para qualquer arquivo estático armazenado em cache e GZIPped pelo IIS, recebo em resposta o conteúdo do arquivo original não compactado comContent-Encoding: gzip
cabeçalho, o que leva a um erro "Conteúdo decodificado falhou". Mas quando eu faço mesmo pedido, mas com o caminho do diretório completo (nesse caso, RewritePath é ignorado no meu código) eu recebo conteúdo gzipped direito comContent-Encoding: gzip
.
Por exemplo.:
Situação com erro:
URL de solicitação:localhost/lib/ext_3.4.0/resources/css/ext-all.css
Caminho de solicitação é reescrito usando HttpContext.RewritePath para:localhost/_sites/mainSite/lib/ext_3.4.0/resources/css/ext-all.css
A primeira resposta não é gzipada - comportamento usual do IIS. Quando pressiono ctrl + F5, recebo o erro "Content decoding failed". Usando o Fiddler2, posso ver que o conteúdo da resposta não é compactado e contémContent-Encoding: gzip
cabeçalho.
Situação sem erro:
URL de solicitação:localhost/_sites/mainSite/lib/ext_3.4.0/resources/css/ext-all.css
O caminho da solicitação não é reescrito porque não é necessário.
A primeira resposta não é gzipada novamente. Quando pressiono ctrl + F5, recebo conteúdo normal de arquivo. Usando o Fiddler2, posso ver que o conteúdo da resposta é compactado, o tamanho é 5 vezes menor e contémContent-Encoding: gzip
cabeçalho.
Eu não posso jogar fora RewritePath e preciso de IIS gzip. Existe alguma maneira de torná-los amigos?