![如何让 Apache 提供具有正确 Content-Type 的 Office 2007 文件?](https://linux22.com/image/653362/%E5%A6%82%E4%BD%95%E8%AE%A9%20Apache%20%E6%8F%90%E4%BE%9B%E5%85%B7%E6%9C%89%E6%AD%A3%E7%A1%AE%20Content-Type%20%E7%9A%84%20Office%202007%20%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我使用的是 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"=""