背景

背景

背景

我们刚刚将网站迁移到新服务器。新旧服务器均运行 CentOS 5.5 和 Apache 1.3.33。但是,迁移后我们无法从我们网站上托管的 Microsoft Office 系列产品下载任何文件。虽然 FTP 传输成功,但 HTTP 请求失败。以下是我在 Firebug 中看到的消息:

400 No Host matches server name dairymgt.info

尝试的解决方案

我与客服人员进行了交谈,他们建议我向文件添加适当的 MIME 类型.htaccess。我继续添加了以下内容(按照建议这里)到.htaccess我们网站根目录中的文件:

AddType application/vnd.ms-word.document.macroEnabled.12 docm
AddType application/vnd.openxmlformats-officedocument.wordprocessingml.document docx
AddType application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx
AddType application/vnd.ms-powerpoint.template.macroEnabled.12 potm
AddType application/vnd.openxmlformats-officedocument.presentationml.template potx
AddType application/vnd.ms-powerpoint.addin.macroEnabled.12 ppam
AddType application/vnd.ms-powerpoint.slideshow.macroEnabled.12 ppsm
AddType application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx
AddType application/vnd.ms-powerpoint.presentation.macroEnabled.12 pptm
AddType application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
AddType application/vnd.ms-excel.addin.macroEnabled.12 xlam
AddType application/vnd.ms-excel.sheet.binary.macroEnabled.12 xlsb
AddType application/vnd.ms-excel.sheet.macroEnabled.12 xlsm
AddType application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx
AddType application/vnd.ms-excel.template.macroEnabled.12 xltm
AddType application/vnd.openxmlformats-officedocument.spreadsheetml.template xltx

然而,这似乎没有起到任何帮助。我仍然收到相同的错误消息。

我已经测试了 PDF 和 ZIP 文件的下载,它们下载正常。此外,我可以使用 FTP 客户端下载任何 MS Office 文件。不知何故 HTTP 请求失败。

更新 1: 如果我将任何 MS Office 文件重命名为扩展名为 .zip 或 .tar.gz 的文件,它们就可以正常下载!这肯定意味着 Apache 以不同的方式处理具有某些扩展名的文件(特别是 MS Office 文件)。Apache 处理程序和/或过滤器可能是罪魁祸首吗?

有什么问题可能出在哪里吗?我可以轻松地编辑 Apache 配置文件,但由于我在共享主机上,因此无法访问 Apache 核心配置文件。

谢谢。

答案1

在与支持人员进行多次互动后,他们(实际上是“高级托管支持”团队)解决了该问题。他们不得不将以下内容添加到我们的.htaccess申请.xls.xlsx文件类型。其他 MS Office 文件类型也需要类似的东西:

SetEnvIf REQUEST_URI ^/(.*)/*.xls$ no-jk
SetEnvIf REQUEST_URI ^/(.*)/*.xlsx$ no-jk

请阅读mod_setenvif 模块的文档更多细节。

希望这对某人有帮助。

相关内容