Додайте відображення MIME у web.config для IIS Express


178

Мені потрібно додати нове відображення 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.

Що я роблю неправильно?

Відповіді:


309

Поміщення його у "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: https://stackoverflow.com/a/5142316/135441

Оновлення 4.10.2013

Spec тепер є рекомендацією, а тип MIME офіційно: application/font-woff



5
Відповідно до посилання, оновлений тип mime тепер повинен бути: application / font-woff (а не застаріле додаток / x-font-woff).
longda

1
@longda Дякую за цей підказку! Я оновив відповідь, щоб це відобразити.
Мартін Буберль

Чи працює цей метод визначення користувальницьких типів MIME в web.config лише в IIS Express? Я спробував це в web.config, розгорнутому до IIS 6, і він не працює (кидає 404). Якщо я додаю тип MIME через консоль диспетчера IIS, він працює.
Вальтер Стабош

@WalterStabosz Наведені вище роботи для IIS та IIS Express 7+. Якщо ви перебуваєте на IIS 6, вам потрібно налаштувати типи mime на сервері, див. Налаштування mime-типів на IIS 6 .
Мартін Буберл

59

Якщо хтось зіткнеться з цим з помилками, такими як Помилка: не може додати повторюваний запис колекції типу 'mimeMap' з унікальним атрибутом ключа та / або іншими сценаріями, припиняючи роботу під час цього виправлення, це може допомогти видалити його спочатку так:

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

Принаймні, це вирішило мою проблему


1
Дякую, що додає певної безпеки при розгортанні :)
rdmptn

3
Додайте це до мого списку функцій, які мені подобаються щодо IIS.
QueueHammer

1
Якщо сервер вже містить тип mime, вказавши його в web.config, ймовірно, спричиняє повторюване виключення.
Людина-булочка

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

6

Я знаю, це старе питання, але ...

Я просто помітив, що мій примірник 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']

Вирішити мою проблему, і я не возитися з якою - то Вошивої конфігурації (наприклад , мені довелося додати підтримку PUTі DELETEдієслів). Так!


4

Дякую за цю публікацію У мене це працювало для використання шаблонів вуса в моєму проекті asp.net mvc. Я використовував наступне, і це працювало на мене.

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

3

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

Тож якщо хтось інший потрапить сюди, намагаючись це зробити, мені довелося додати тип mime для woff через IIS Manager

Типи Mime >> Клацніть Додати посилання праворуч, а потім введіть Розширення: .woff Тип MIME: application / font-woff


Дякую, це набрало мене швидкості, щоб проект знову запустився. У мене все було в порядку з IIS7.5, але я отримав Win8 та IIS8, а відображення у веб-сайті web.config дублюються з конфігурацією IIS, викликаючи помилки для будь-якого запиту статичного ресурсу. Я видалив дублікати, і зараз усе нормально працює.
rdmptn

3

Щоб вирішити проблему, двічі клацніть параметр конфігурації "Типи MIME", вибравши кореневий вузол IIS на лівій панелі та натисніть посилання "Додати ..." на панелі "Праворуч" праворуч. Тут з’явиться наступне діалогове вікно. Додайте розширення файлу .woff та вкажіть "application / x-font-woff" як відповідний тип MIME:

введіть тут опис зображення

Дотримуйтесь того ж для woff2 із застосуванням application / x-font-woff2


0

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.