Я обслуживаю файлы .JSON, но даже если файл существует, IIS продолжает выдавать ошибку 404 при обращении к любому из файлов. Я попытался переименовать один из файлов в .JS, и это работает.
Любой указатель, какие настройки могут вызвать эту проблему?
Я обслуживаю файлы .JSON, но даже если файл существует, IIS продолжает выдавать ошибку 404 при обращении к любому из файлов. Я попытался переименовать один из файлов в .JS, и это работает.
Любой указатель, какие настройки могут вызвать эту проблему?
Ответы:
По умолчанию IIS в W2K3 и выше не будет обслуживать файлы, которые не относятся к типу MIME, о котором он знает (вместо этого возвращается 404 ошибки).
Вам нужно добавить MIME-тип в IIS, чтобы он мог обслуживать этот тип файла. Вы можете установить его на уровне сайта или на уровне сервера.
Чтобы установить это для всего сервера:
У меня такая же проблема. IIS выполняет то, что называется фильтрацией MIME-типов. Если он не знает тип MIME конкретного расширения файла, он возвращает ошибку 404.
На IIS <7: откройте свойства сайта (или сервера). Нажмите на вкладку HTTP-заголовок . Нажмите на кнопку MIME Types . Добавьте тип файла * с типом MIME «application / octet-stream».
Для IIS 7: Откройте диспетчер IIS. Нажмите на сервер или веб-сайт. Дважды щелкните значок функции MIME Types . На панели действий нажмите кнопку Добавить . Заполните поле «Расширение имени файла» с помощью *, а в поле MIME Type - «application / octet-stream».
Я добавил тип MIME .json- text/jsonна сайт в IIS для просмотра в браузере в виде текста.
Чтобы объединить ответы в еще один общий ответ:
Вот предостережение:
Если вы сталкиваетесь с подобной проблемой, откройте файлы веб-журнала веб-сайта и посмотрите код дополнительного состояния (например, 404 3), чтобы точно определить, почему ваш веб-сайт не обслуживает контент для IIS 6, или
в IIS 7.
У меня тоже была эта проблема - и проблема оказалась в правах доступа к папке, где хранился файл json. Я ответил на аналогичный вопрос здесь .
Все эти люди правильно сказали, что вам нужно добавить тип MIME.
Тип MIME включает расширение файла на сервере, а Mapping Handler сообщает IIS, что с ним делать.
Таким образом, вам также нужно добавить обработчик сопоставления , и для этого вам необходимо установить функцию Windows под названием Classic Asp для обработки сопоставления.
Handler MappingsAdd a Script Map*.jsonC:\WINDOWS\system32\inetsrv\asp.dllJSON(вы можете называть это как угодно)Кроме того , некоторые люди скажут вам использовать `применение / х-JavaScript» в качестве приложения мимов-типа, но JSON не JavaScript, сами по себе (это является подмножеством, однако) , и поэтому оно должно быть „применение / JSON“ вместо , поскольку это IANA-зарегистрированный тип медиа для JSON.
Также проверьте фильтрацию запросов в IIS. Если ".json" там и заблокирован, больше ничего не будет работать.