Omn*_*nik 5 iis gzip rewritepath
你好.
我HttpContext.RewritePath用来根据请求和主机将请求定向到内部站点文件夹.
问题:当我对IIS缓存和GZIP的任何静态文件执行任何需要RewritePath的请求时,我会得到带有Content-Encoding: gzip标头的原始非压缩文件内容,这会导致"内容解码失败"错误.但是,当我执行相同的请求,但使用完整的目录路径(在这种情况下,我的代码中跳过RewritePath)我得到正确的gzip压缩内容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
第一个响应不是gzip - 通常的IIS行为.当我按ctrl + F5时,我得到"内容解码失败"错误.通过使用Fiddler2,我可以看到响应内容不是gzip压缩,它包含Content-Encoding: gzip标题.
无错误的情况:
请求URL:localhost/_sites/mainSite/lib/ext_3.4.0/resources/css/ext-all.css
请求路径未重新编译,因为它不需要.
第一个响应不再被gzipped.当我按ctrl + F5时,我得到正常的文件内容.通过使用Fiddler2,我可以看到响应内容是gzip压缩,大小是5倍,它包含Content-Encoding: gzip标题.
我不能扔掉RewritePath,我需要IIS gzip.有没有办法让他们成为朋友?
| 归档时间: |
|
| 查看次数: |
374 次 |
| 最近记录: |