我有一个由 Apache 提供的 zip 文件,其中打开了 mod_gzip 压缩。使用 Firefox 下载文件时一切正常。使用 IE7 下载时,zip 文件已损坏。有什么建议么?我是否需要更改 zip 文件的 mime 类型,或者可能从 gzip 压缩中排除 zip 文件?
我有一个由 Apache 提供的 zip 文件,其中打开了 mod_gzip 压缩。使用 Firefox 下载文件时一切正常。使用 IE7 下载时,zip 文件已损坏。有什么建议么?我是否需要更改 zip 文件的 mime 类型,或者可能从 gzip 压缩中排除 zip 文件?
您与 .zip 文件一起发送的 MIME 类型是什么?我遇到过与动态下载页面(例如 download.php 发送文件)和压缩类似的错误。当使用 application-zip 和 Content-Encoding: gzip 之类的东西时,IE 不会解压缩文件。如果我没记错的话,我通过使用 MIME 类型的 application/octet-stream 纠正了这个问题。
话虽如此,无论如何您都应该将 .zip 从 gzip 压缩中排除,因为如果不影响性能,它可能毫无用处。
此问题是 Internet Explorer 7 和 8 的一个已知问题。这些浏览器无法正确处理使用 gzip 内容编码的 zip 内容类型。IE 的 8 版本仍然有一些受众,因为它是 XP 上可用的最后一个版本。
在 zip 上启用 http 压缩有点多余,但它在技术上是有效的。在某些情况下,可能无法选择从 http 压缩中排除 zip,具体取决于所使用的技术。
因此,如Microsoft KB中所述,如果您想在 Web 服务器上为 Internet Explorer 7 或 8 的用户启用有效的 zip 解决方法,请禁用对 zip 内容的 http 压缩,或更改 zip mime-type在您的服务器上进行八位字节流。
您绝对应该从 gzip 压缩中排除 zip 文件。无需再次压缩已经压缩的内容。这不仅适用于 zip 文件,也适用于 jpg 等。