IE8 在 Apache 上以 zip 格式下载 docx 文件
我最近在Apache服务器设置上构建了一个Drupal站点,一切似乎都很好,直到有人运行IE8尝试下载.docx文件。出于某种原因,IE8坚持认为这个文件是一个.zip文件,并且会这样打开它,导致对问题所在的一些困惑。我认为这是由于文件的mime类型设置不正确,但我决定进行快速搜索,看看是否可以找到任何内容来证实这一点。我认为IE8正在做的事情可能很奇怪,因为其他一切都在完美地下载文件。
在浏览了多个支持论坛并几乎没有找到任何帮助之后,我最终放弃了,并按照我的第一个预感在网站.htaccess文件中设置了.docx文件扩展名的mime类型。这是我使用的规则:
AddTypeapplication/vnd.openxmlformats-officedocument.wordprocessingml.documentdocx
这一下子解决了问题。为了涵盖我对IE8未来任何愚蠢行为的基础,我认为为MicrosoftOffice文件设置一些其他mime类型可能会很好。以下是最终名单:
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
只需将其放入您的.htaccess文件或您的mime.types文件中,即可让IE8正确下载文件。