【问题标题】:Static compression in IIS does not work for htm, js filesIIS 中的静态压缩不适用于 htm、js 文件
【发布时间】:2011-07-08 00:27:07
【问题描述】:

我正在尝试将 IIS 7.5 配置为压缩静态 htm 和 js 文件。有谁知道为什么它对我不起作用?这是我的网站的 web.config:

    <httpCompression>          
        <dynamicTypes>
            <add mimeType="text/*" enabled="true" />
            <add mimeType="message/*" enabled="true" />
            <add mimeType="application/x-javascript" enabled="true" />
            <add mimeType="*/*" enabled="false" />
        </dynamicTypes>
        <staticTypes>
            <add mimeType="text/*" enabled="true" />
            <add mimeType="message/*" enabled="true" />
            <add mimeType="application/x-javascript" enabled="true" />
            <add mimeType="*/*" enabled="false" />
        </staticTypes>
    </httpCompression>
    <urlCompression doStaticCompression="true" doDynamicCompression="false" />

当我将 doDynamicCompression 设置为 true 时,压缩开始工作。但是我不能使用这个选项,因为它在我的主机上被禁用了。

谢谢。

【问题讨论】:

  • 我发现了同样的问题。如果启用了静态压缩,则似乎带有压缩的 CSS 文件。但我需要为 js 启用动态压缩。如果我这样做,它也可以使用 .aspx。此外,httpCompression 方案似乎没有效果。

标签: asp.net asp.net-mvc compression iis-7.5


【解决方案1】:

是什么让您认为压缩不起作用?检查事件视图日志。静态压缩模块有时会抛出错误,说正在使用的目录无效(主要是因为它需要写权限)。

使用 Fiddler 或其他 HTTP 调试工具仔细检查,以确保客户端正在发送 GZIP/Deflate 的“Accept-Encoding”。

【讨论】:

  • 感谢您的提示。是的,这就是我检测压缩是否有效的方式——查看响应 http 标头。它仅在 doDynamicCompression="true" 时发送 Content-Encoding: gzip。事件日志中没有任何内容,我什至尝试将“C:\inetpub\temp\IIS 临时压缩文件”文件夹的所有权限授予所有人 - 没有帮助。
【解决方案2】:

Enabling Http caching and compression in IIS 7 for asp.net websites - Anil Kasalanati

这个怎么样?检查您的 applicationHost.config 文件。

【讨论】:

  • 好链接,谢谢。我在 applicationHost.config 中发现 mime 类型不匹配,已修复,但对我没有帮助。
【解决方案3】:

我从 dynamicTypes 中删除了 mimeType="application/x-javascript",但将它留在了 staticTypes 中。这让我可以关闭 dynamicCompression 但仍然压缩了 javascript。

我读过一些帖子表明,当您在动态和静态中具有相同的 mimeType 时,动态中的值会胜出。当 dynamicCompression 关闭,但在 dynamicTypes 中有匹配项时,javascript 被视为动态的,因此被关闭。

这并不能解释为什么 CSS 会起作用,因为 mimeType="text/" 在这两个地方都有。当涉及到 CSS 或任何文本时,IIS 必须更好地确定动态内容还是静态内容/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-01
    • 2016-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多