Добавьте отображение MIME в web.config для IIS Express
Мне нужно добавить новое сопоставление MIME для расширений файлов.woff в IIS Express.
Если я добавлю следующий фрагмент в "applicationhost.config" IIS Express, он будет работать нормально:
<staticContent lockAttributes="isDocFooterFileName">
<mimeMap fileExtension=".woff" mimeType="font/x-woff" />
...
Но я бы на самом деле хотел добавить его в мой "web.config", чтобы не каждому разработчику приходилось менять свой "applicationhost.config" локально.
Поэтому я снова удалил его из файла "applicationhost.config" и добавил следующий фрагмент в "web.config" проекта:
<system.webServer>
...
<staticContent>
<mimeMap fileExtension=".woff" mimeType="font/x-woff" />
</staticContent>
</system.webServer>
К сожалению, похоже, что это не работает, потому что, когда я пытаюсь получить доступ к файлу.woff, я получаю ошибку HTTP 404.3.
Что я делаю неправильно?
8 ответов
Помещение в "web.config" работает нормально. Проблема была в том, что я неправильно понял тип MIME. Вместо font/x-woff
или же font/x-font-woff
Это должно быть application/font-woff
:
<system.webServer>
...
<staticContent>
<remove fileExtension=".woff" />
<mimeMap fileExtension=".woff" mimeType="application/font-woff" />
</staticContent>
</system.webServer>
Смотрите также этот ответ относительно типа MIME: /questions/42980565/tip-mime-dlya-shriftov-woff/42980580#42980580
Обновление 4/10/2013
Спецификация теперь является рекомендацией, а тип MIME официально:
application/font-woff
Если кто-то сталкивается с такими ошибками, как Ошибка: невозможно добавить дубликат записи коллекции типа "mimeMap" с уникальным атрибутом ключа и / или другие сценарии перестают работать при выполнении этого исправления, это может помочь сначала удалить его, например так:
<staticContent>
<remove fileExtension=".woff" />
<mimeMap fileExtension=".woff" mimeType="application/font-woff" />
</staticContent>
По крайней мере, это решило мою проблему
<system.webServer>
<staticContent>
<remove fileExtension=".woff"/>
<mimeMap fileExtension=".woff" mimeType="application/font-woff" />
<mimeMap fileExtension=".woff2" mimeType="font/woff2" />
</staticContent>
</system.webServer>
Я знаю, что это старый вопрос, но...
Я просто заметил, что мой экземпляр IISExpress не обслуживает woff-файлы, поэтому я не искал (нашел это), а затем обнаружил:
http://www.tomasmcguinness.com/2011/07/06/adding-support-for-svg-to-iis-express/
Я предполагаю, что моя установка имеет поддержку SVG, так как у меня не было проблем с этим. Но инструкции легко модифицируются для woff:
- Откройте консольное приложение с правами администратора.
- Перейдите в каталог IIS Express. Это живет в Program Files или Program Files (x86)
Запустите команду:
appcmd set config / section: staticContent / + [fileExtension = 'woff', mimeType = 'application / x-woff']
Решил мою проблему, и мне не пришлось возиться с какой-то отвратительной конфигурацией (как я должен был добавить поддержку для PUT
а также DELETE
глаголы). Ура!
Спасибо за этот пост. Я получил это с помощью шаблонов усов в моем проекте asp.net mvc, я использовал следующее, и это сработало для меня.
<system.webServer>
<staticContent>
<mimeMap fileExtension=".mustache" mimeType="text/html"/>
</staticContent>
</system.WebServer>
Чтобы решить эту проблему, дважды щелкните параметр конфигурации "Типы MIME", выбрав корневой узел IIS на левой панели, и нажмите ссылку "Добавить..." на панели "Действия" справа. Это вызовет следующий диалог. Добавьте расширение файла.woff и укажите "application/x-font-woff" в качестве соответствующего типа MIME:
То же самое для woff2 с применением /x-font-woff2
Я не пользуюсь IIS Express, но работаю против своего локального Full IIS 7.
Так что, если кто-то еще пытается здесь сделать это, мне нужно было добавить mime-тип для woff через IIS Manager.
Типы MIME >> Нажмите Добавить ссылку справа, а затем введите Extension: .woff Тип MIME: application / font-woff
У меня была проблема с получением приложения ASP.NET 5.0/MVC 6 для обслуживания статических двоичных типов файлов или просмотра виртуальных каталогов. Похоже, что это теперь делается в Configure() при запуске. См. http://docs.asp.net/en/latest/fundamentals/static-files.html для быстрого ознакомления.