Добавьте отображение 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 для быстрого ознакомления.

Другие вопросы по тегам