8

我有以下 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>

可能计划不允许动态压缩

问题是,当我请求 css 或 js 时,IIS 以 GZIP 响应并添加 Varly:accept-encoding 有时不压缩 CSS 或 JS,我找不到它是某种随机的模式。

我总是尝试 CTRL F5,即使您访问 www.mysite.com css 和 js 是否被随机压缩。

注意:托管在 NetworkSolution。

我的配置或 IIS 有什么问题。

谢谢

4

1 回答 1

17

经过大量搜索,我终于找到了在我的 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

我希望这有助于您的压缩正常工作。

于 2013-03-25T23:55:40.933 回答