【发布时间】:2014-02-07 13:56:24
【问题描述】:
我有一个 ASP.NET 网站 (.NET 4)。我相信我已经启用了所有设置来实现静态文件的 gzip 压缩,但像 Google Page Speed 这样的网站仍将 PNG、javascript 和 CSS 文件报告为未压缩。这是我的设置:
IIS:网站 -> IIS -> 压缩:
Web.config:
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" dynamicCompressionLevel="10" staticCompressionLevel="10"/>
<staticTypes>
<add mimeType="text/*" enabled="true"/>
<add mimeType="message/*" enabled="true"/>
<add mimeType="application/javascript" enabled="true"/>
<add mimeType="application/x-javascript" enabled="true"/>
<add mimeType="application/xml" enabled="true"/>
<add mimeType="*/*" enabled="false"/>
</staticTypes>
</httpCompression>
我还有什么遗漏的吗?
【问题讨论】:
-
只是猜测 - 我会将
<add mimeType="*/*" enabled="false"/>行移动到<staticTypes>内的第一行 - 它可能会覆盖特定设置。 -
谢谢,试过了,但没有成功。甚至删除了没有效果的“假”行
-
刚刚检查,你的静态文件映射到了Handler Mappings中的StaticFileModule,对吧?
-
当您查看未压缩的 .js 或 .css 文件时,它们是否很大? IIS 有一个下限,即使在打开压缩时,文件也不会被压缩。该设置位于服务器级压缩设置中(未针对单个网站显示)。
-
@xxbbcc 好吧,默认条目“*”被映射到静态处理程序,然后动态文件类型被映射到它们各自的处理程序。没有针对 CSS、JPEG、Png 等的特定条目
标签: asp.net iis compression