HttpContext.RewritePath ломает встроенный GISIP IIS
Привет.
я используюHttpContext.RewritePath
направить запрос на внутренние папки сайта в зависимости от запроса и хоста.
Проблема:
Когда я делаю любой запрос, который требует RewritePath для любого статического файла, который кэшируется и GZIPped IIS, я получаю в ответ исходное несжатое содержимое файла сContent-Encoding: gzip
заголовок, который приводит к & # x201C; Ошибка декодирования контента & # x201D; ошибка.
Но когда я делаю тот же запрос, но с полным путем к каталогу (в этом случае RewritePath пропускается в моем коде), я получаю правильно сжатый контент сContent-Encoding: gzip
.
Например.:
Ситуация с ошибкой:
URL запроса:localhost/lib/ext_3.4.0/resources/css/ext-all.css
Путь запроса переписывается с использованием HttpContext.RewritePath для:localhost/_sites/mainSite/lib/ext_3.4.0/resources/css/ext-all.css
Первый ответ не распакован - обычное поведение IIS. Когда я нажимаю Ctrl + F5, я получаю & # x201C; Декодирование содержимого завершилось неудачей & # x201D; ошибка. Используя Fiddler2, я вижу, что содержимое ответа не распаковывается и содержитContent-Encoding: gzip
заголовок.
Ситуация без ошибок:
URL запроса:localhost/_sites/mainSite/lib/ext_3.4.0/resources/css/ext-all.css
Путь запроса не переписывается, потому что он не нужен.
Первый ответ не отправляется снова. Когда я нажимаю Ctrl + F5, я получаю нормальное содержимое файла. Используя Fiddler2, я вижу, что содержимое ответа сжато, размер в 5 раз меньше и содержитContent-Encoding: gzip
заголовок.
Я не могу выбросить RewritePath, и мне нужен GISIP IIS. Есть ли способ сделать их друзьями?