如何让 Apache 提供具有正确 Content-Type 的 Office 2007 文件?

如何让 Apache 提供具有正确 Content-Type 的 Office 2007 文件?

我使用的是 SVN Server 1.8 和 Apache2.2。当我将 Exel 2007 文件添加到存储库时,SVN 会自动将 svn:mime-type 属性添加到文件的“application/octet-stream”。当客户端使用 Internet Explore (IE) 8 访问该文件时,Apache 会将其作为“application/octet-stream”提供,而 IE 8 会将其视为 .zip 文件。

我尝试修改 httpd.conf 以向其中添加类型,如下所示:AddType application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx

但 Apache 仍然以“application/octet-stream”的形式提供该文件。

我还需要设置其他什么吗,以便 Apache 可以以正确的内容类型“application/vnd.openxmlformats-officedocument.spreadsheetml.sheet”传送文件?

谢谢

答案1

检查是否已正确插入此格式和其他 vnd.openxml 格式 /etc/mime.types

application/vnd.openxmlformats-officedocument.presentationml.presentation   pptx
application/vnd.openxmlformats-officedocument.presentationml.slide          sldx
application/vnd.openxmlformats-officedocument.presentationml.slideshow      ppsx
application/vnd.openxmlformats-officedocument.presentationml.template       potx
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet           xlsx
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet           xlsx
application/vnd.openxmlformats-officedocument.spreadsheetml.template        xltx
application/vnd.openxmlformats-officedocument.spreadsheetml.template        xltx
application/vnd.openxmlformats-officedocument.wordprocessingml.document     docx
application/vnd.openxmlformats-officedocument.wordprocessingml.template     dotx

对 mime.types 进行任何修改后,请记住重新启动 Apache。

颠覆它本身会检查文件以确定它是否是二进制文件,并使用基于文件前 1024 个字节中的零和非 ASCII 字符的自己的(相当笨拙的)启发式方法。

您可以使用运行时配置参数告诉 Subversion 从文件中查找 MIME 类型映射mime-types-file。在 Windows 计算机上,运行时配置文件可能位于 %APPDATA%\Subversion 下。在某些安装设置中,可能位于 Windows 注册表中,搜索类似以下内容:

[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany]
"#mime-types-file"=""

相关内容