3

我在使用带有 GZip 内容压缩的 Sitecore MVC 3 渲染时遇到问题。

我关注了 John West 的博客文章,如何在 Sitecore 中启用 MVC

到目前为止,它工作得很好,页面被渲染了。但是,如果我在 IIS 上运行该页面并启用内容压缩 (gzip),则该页面不会加载。我在 Firefox 中收到“内容编码错误”。其他浏览器显示各种错误信息。

有人遇到过类似的问题吗?你知道问题可能是什么吗?我应该从哪里开始检查?我必须在页面上使用压缩。

我们正在使用 Sitecore 6,更新 5:“Sitecore 6.6.0 rev. 130404”这可能是 Sitecore 错误吗?

编辑 1:我还在 Sitecore 实例上运行 ASP.NET WebForms,它也适用于 gzip 压缩。

编辑 2:我启用了“dynamicCompressionBeforeCache”。我的 web.config 与 gzip 配置相关:

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
  <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
  <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>
<urlCompression doStaticCompression="true" doDynamicCompression="true" dynamicCompressionBeforeCache="true" />
4

2 回答 2

5

Sitecore 确认他们可以重现该问题。设置 dynamicCompressionBeforeCache="true" 时,编码由于某种原因无法正常工作。

一种解决方案是删除此设置。应用 dynamicCompressionBeforeCache="false" 后它工作正常。

于 2013-08-02T09:14:44.550 回答
2

您可能应该在 web.config 中启用 gzip

<system.webServer>
  <httpCompression directory="%SystemDrive%\inetpub\
temp\IIS Temporary Compressed Files">
    <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll"/>
    <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>
  <urlCompression doStaticCompression="true" doDynamicCompression="true"/>
</system.webServer>

这里还有一些技巧 在 asp.net 中设置 gzip 压缩

于 2013-07-22T09:06:09.707 回答