我有以下web.config:
<urlCompression doStaticCompression="true" />
<httpCompression>
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/javascript" enabled="true" />
<add mimeType="*/*" enabled="false" />
</dynamicTypes>
<staticTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />
<add mimeType="application/javascript" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
</httpCompression>
5月计划不允许动态压缩
问题是,当我请求css或js时,IIS用GZIP响应并添加vary:accept-encoding有时和其他时间不压缩CSS也没有JS,我找不到它是某种随机的模式。
我总是尝试CTRL F5,即使你访问www.mysite.com css和js是随机压缩的。
NB:托管在NetworkSolution上。
我的配置或IIS出了什么问题。
由于
答案 0 :(得分:15)
经过大量搜索,我终于找到了什么让我的IIS 7.5上的压缩工作更加一致。 首先,IIS不会压缩文件,除非它经常加载。这提出了一个问题“IIS经常考虑什么?”嗯,默认值是每10秒2次。糟糕!
可以在web.config中更改此设置,但需要先在applicationHost.config中解锁该部分。以下是命令:
首先解锁该部分:
C:\ Windows \ System32 \ inetsrv \ appcmd.exe解锁配置 /section:system.webServer/serverRuntime
配置路径“MACHINE / WEBROOT / APPHOST”处的未锁定部分“system.webServer / serverRuntime”。
现在完成了,编辑web.config文件
<?xml version="1.0" encoding="UTF-8"?> <configuration>
<system.webServer>
<serverRuntime frequentHitThreshold="1" frequentHitTimePeriod="10:00:00" />
...
在这种情况下,我将其设置为在10小时内点击一次文件。您可以根据需要调整值。这是解释serverRuntime元素的文档:
http://www.iis.net/configreference/system.webserver/serverruntime
我希望这有助于让您的压缩正常工作。