IIS не может обслуживать определенные расширения файлов

IIS не может обслуживать определенные расширения файлов

Я обслуживаю файлы .JSON, но даже если файл существует, IIS продолжает выдавать ошибку 404 при доступе к любому из файлов. Я попробовал переименовать один из файлов в .JS, и это сработало.

Есть ли какие-нибудь указания на то, какая настройка может вызвать эту проблему?

решение1

По умолчанию IIS в W2K3 и более поздних версиях не обслуживает файлы, тип MIME которых ему неизвестен (вместо этого возвращая ошибки 404).

Вам необходимо добавить тип MIME в IIS, чтобы разрешить ему обслуживать этот тип файла. Вы можете установить его на уровне сайта или на уровне сервера.

Чтобы установить это для всего сервера:

  • Откройте свойства сервера в диспетчере IIS и щелкните Типы MIME.
  • Нажмите «Новый». Введите «JSON» для расширения и «application/json» для типа MIME.

решение2

У меня была та же проблема. IIS делает что-то под названием MIME-фильтрация. Если он не знает MIME-тип определенного расширения файла, он возвращает ошибку 404.

В IIS <7: Откройте свойства сайта (или сервера). Нажмите наHTTP-заголовоквкладка. Нажмите наMIME-типыКнопка. Добавьте тип файла * с типом MIME "application/octet-stream".

Для IIS 7: Откройте диспетчер IIS. Нажмите кнопкусерверили веб-сайт. Дважды щелкнитеMIME-типыЗначок функции. В панели «Действия» щелкнитеДобавлять. В поле «Расширение имени файла» введите *, а в поле Тип MIME — «application/octet-stream».

решение3

Я добавил MIME .json- тип text/jsonна сайт в IIS для просмотра в браузере как текст.

решение4

У меня тоже была эта проблема - и проблема оказалась в правах доступа к папке, где хранился файл json. Я ответил нааналогичный вопрос здесь.

Все эти люди правы, когда говорят, что вам нужно добавить тип MIME.

Тип MIME включает расширение файла на сервере, а обработчик сопоставления сообщает IIS, что с ним делать.

Так что вам также придетсядобавить обработчик сопоставления, и для этого у вас должна быть функция Windows, которая называетсяКлассический Asp установлендля обработки картирования.

Вот как добавить обработчик сопоставления:

  1. Откройте диспетчер IIS7
  2. Перейдите в свойства сервера IIS (или только сайта, если вам не нужны глобальные настройки)
  3. Нажмите наHandler Mappings
  4. Нажмите наAdd a Script Map
  5. Введите свойства:
    • Путь запроса:*.json
    • Исполняемый файл:C:\WINDOWS\system32\inetsrv\asp.dll
    • Имя: JSON(можете называть как хотите)
  6. Нажмите OK, и все готово. Это должно начать работать, и вам не понадобится сброс IIS.

Кроме того, некоторые люди скажут вам использовать `application/x-javascript' в качестве приложения mime-типа, но JSON - это не JavaScript,как таковой(этоявляется(однако это подмножество), поэтому вместо этого должно быть «application/json», поскольку это зарегистрированный IANA тип носителя для JSON.

Связанный контент