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