Добавить 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.

Что я делаю неправильно?

Ответ 1

Вложение в "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: fooobar.com/questions/13909/...

Обновление 4/10/2013

В настоящее время спецификация представляет собой рекомендацию, а тип MIME официально: application/font-woff

Ответ 2

Если кто-то сталкивается с такими ошибками, как Ошибка: не удается добавить дублируемую запись коллекции типа "mimeMap" с уникальным атрибутом ключа и/или другие скрипты перестают работать при выполнении этого исправления, это может помочь сначала удалить его следующим образом:

<staticContent>
  <remove fileExtension=".woff" />
  <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
</staticContent>

По крайней мере, это решило мою проблему

Ответ 3

<system.webServer>
     <staticContent>
      <remove fileExtension=".woff"/>
      <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
      <mimeMap fileExtension=".woff2" mimeType="font/woff2" />
    </staticContent>
  </system.webServer>

Ответ 4

Я знаю, что это старый вопрос, но...

Я просто заметил, что мой экземпляр IISExpress не обслуживал файлы woff, поэтому я не искал (нашел это), а затем нашел:

http://www.tomasmcguinness.com/2011/07/06/adding-support-for-svg-to-iis-express/

Я полагаю, что моя установка поддерживает SVG, поскольку у меня не было проблемы с этим. Но инструкции тривиально модифицируются для woff:

  • Откройте консольное приложение с правами администратора.
  • Навигация в каталог IIS Express. Это работает под программными файлами или программными файлами (x86)
  • Запустите команду:

    appcmd set config/section: staticContent/+ [fileExtension = 'woff', mimeType = 'application/x-woff']

Решила мою проблему, и мне не пришлось возиться с какой-то crummy config (вроде, мне пришлось добавить поддержку глаголов PUT и DELETE). Ура!

Ответ 5

Спасибо за этот пост. Я получил это работает для использования шаблонов усов в моем проекте asp.net mvc Я использовал следующее, и это сработало для меня.

<system.webServer>   
  <staticContent>
   <mimeMap fileExtension=".mustache" mimeType="text/html"/>
  </staticContent>
</system.WebServer>

Ответ 6

Я не использую IIS Express, но развиваюсь против своего локального полного IIS 7.

Итак, если кто-то еще пытается это сделать, мне пришлось добавить тип mime для woff через диспетчер IIS

Мим-типы → Нажмите "Добавить ссылку" справа, а затем введите   Расширение: .woff  Тип MIME: application/font-woff

Ответ 7

Чтобы решить проблему, дважды щелкните параметр конфигурации "MIME Types", когда на левой панели выбран IIS root node и нажмите "Добавить..." на панели "Действия" справа. Появится следующий диалог. Добавьте расширение .woff и укажите "application/x-font-woff" как соответствующий тип MIME:

enter image description here

Следуйте одинаковым для woff2 с приложением/x-font-woff2

Ответ 8

У меня возникла проблема с получением моего приложения ASP.NET 5.0/MVC 6 для обслуживания статических бинарных файлов или просмотра виртуальных каталогов. Похоже, что это делается в Configure() при запуске. См. http://docs.asp.net/en/latest/fundamentals/static-files.html для быстрого праймера.