Мы только что перенесли наш сайт на новый сервер. И старый, и новый серверы запускали 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, и они нормально загружаются. Кроме того, я могу загрузить любые файлы MS Office с помощью FTP-клиента. Почему-то HTTP-запросы терпят неудачу.
Обновление 1: Если я просто переименую какой-либо из файлов MS Office с расширениями .zip или .tar.gz, они загрузятся нормально! Это определенно означает, что Apache обрабатывает файлы с определенными расширениями (в частности, с расширениями MS Office) по-другому. Могут ли быть виноваты обработчики и / или фильтры Apache?
Любые указатели на то, где может быть проблема? Мне удобно редактировать файлы конфигурации Apache, но у меня нет доступа к файлам конфигурации ядра Apache, поскольку я использую общий хостинг.
Спасибо.
После долгого взаимодействия со службой поддержки они (на самом деле команда «Advanced Hosting Support») устранили проблему. Им пришлось добавить к нашему .htaccess файл для .xls и .xlsx типы файлов. Что-то подобное потребуется для других типов файлов MS Office:
SetEnvIf REQUEST_URI ^/(.*)/*.xls$ no-jk
SetEnvIf REQUEST_URI ^/(.*)/*.xlsx$ no-jk
Пожалуйста, прочтите документация для модуля mod_setenvif Больше подробностей.
Надеюсь, это кому-то поможет.