Pytanie Dodaj mapowanie MIME w pliku web.config dla IIS Express


Potrzebuję dodać nowe mapowanie MIME dla rozszerzeń plików .woff do IIS Express.

Jeśli dodaję poniższy fragment do pliku "applicationhost.config" programu IIS Express, działa on prawidłowo:

<staticContent lockAttributes="isDocFooterFileName">
    <mimeMap fileExtension=".woff" mimeType="font/x-woff" />
    ...

Ale naprawdę chciałbym dodać go do mojego "web.config", aby nie każdy programista musiał lokalnie zmieniać "applicationhost.config".

Usunąłem go ponownie z pliku "applicationhost.config" i dodałem następujący fragment do "web.config" projektu:

<system.webServer>
  ...
  <staticContent>
    <mimeMap fileExtension=".woff" mimeType="font/x-woff" />
  </staticContent>
</system.webServer>

Niestety nie działa to w ten sposób, ponieważ kiedy próbuję uzyskać dostęp do pliku .woff, otrzymuję błąd HTTP 404.3.

Co ja robię źle?


168
2018-01-26 16:54


pochodzenie




Odpowiedzi:


Umieszczenie go w "web.config" działa dobrze. Problem polegał na tym, że źle zrozumiałem typ MIME. Zamiast font/x-woff lub font/x-font-woff to musi być application/font-woff:

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

Zobacz także tę odpowiedź dotyczącą typu MIME: https://stackoverflow.com/a/5142316/135441

Aktualizacja 4/10/2013

Spec jest teraz rekomendacją, a typ MIME jest oficjalnie: application/font-woff


297
2018-03-21 21:32



Fwiw, Jak dodać typy MIME za pomocą IIS7 Web.config i 404 błędy w IIS7 dla osadzonych plików czcionek .woff. Voila, choć rok spóźniony na imprezę. - ruffin
Zgodnie z linkiem zaktualizowanym typem MIME powinien być teraz: application / font-woff (zamiast przestarzałej aplikacji / x-font-woff). - longda
@Longda Dzięki za podpowiedź! Zaktualizowałem odpowiedź, aby to odzwierciedlić. - Martin Buberl
Czy ta metoda definiowania niestandardowych typów MIME w pliku web.config działa tylko w IIS Express? Próbowałem go w web.config wdrożony do IIS 6 i nie działa (rzuca 404). Jeśli dodaję typ MIME za pomocą konsoli Menedżera usług IIS, to działa. - Walter Stabosz
@WalterStabosz Powyższe działa dla IIS i IIS Express 7+. Jeśli korzystasz z IIS 6, musisz skonfigurować typy MIME na serwerze, zobacz konfigurowanie typów mime na IIS 6. - Martin Buberl


Jeśli ktoś napotka to z błędami jak Błąd: nie można dodać zduplikowanego wpisu kolekcji typu "mimeMap" z unikalnym atrybutem klucza i / lub inne skrypty przestają działać podczas wykonywania tej poprawki, może to pomóc w usunięciu go w ten sposób:

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

Przynajmniej to rozwiązało mój problem


57
2018-06-28 17:27



Dzięki, że dodaje trochę bezpieczeństwa przy wdrażaniu :) - rdmptn
Dodaj to do mojej listy funkcji, które kocham w IIS. - QueueHammer
Jeśli serwer zawiera już typ MIME, podanie go w pliku web.config prawdopodobnie spowoduje duplikowanie wyjątku. - The Muffin Man


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

16
2018-01-21 13:38





Wiem, że to stare pytanie, ale ...

Właśnie zauważyłem, że moje wystąpienie IISExpress nie służyło do wyświetlania plików woff, więc nie szukałem (znalazłem to), a następnie znalazłem:

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

Przypuszczam, że moja instalacja obsługuje SVG, ponieważ nie miałem z tym problemu. Ale instrukcje są trywialnie modyfikowalne dla woff:

  • Otwórz aplikację konsolową z przywilejami administratora.
  • Nawigacja do katalogu IIS Express. To działa w ramach plików programów lub plików programów (x86)
  • Uruchom polecenie:

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

Rozwiązałem mój problem, i nie musiałem zadzierać z jakąś marną konfiguracją (tak jak musiałem dodać wsparcie dla PUT i DELETE czasowniki). Yay!


6
2018-03-21 03:06





Dzięki za ten wpis. Mam to pracował do używania szablonów wąsy w moim projekcie mvc asp.net Użyłem następujących rzeczy i zadziałało to dla mnie.

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

3
2018-02-27 09:40





Nie korzystam z IIS Express, ale rozwijam się na moim Local Full IIS 7.

Więc jeśli ktoś inny jest tutaj, próbując to zrobić, musiałem dodać typ mime dla woff za pośrednictwem Menedżera usług IIS

Rodzaje mimów >> Kliknij Dodaj łącze po prawej, a następnie wprowadź     Rozbudowa: .woff     Typ MIME: application / font-woff


3
2017-10-02 21:44



Dzięki, dzięki temu mogłem przyspieszyć realizację projektu. Wszystko było w porządku z IIS7.5 ze mną, ale mam Win8 i IIS8, a odwzorowania w web.config witryny zostały zduplikowane z konfiguracją IIS, powodując błędy dla dowolnego żądanego statycznego zasobu. Usunąłem duplikaty i teraz wszystko działa dobrze. - rdmptn


Aby rozwiązać problem, kliknij dwukrotnie opcję konfiguracji "Typy MIME", mając wybrany węzeł główny usług IIS w lewym panelu i kliknij łącze "Dodaj ..." w panelu Czynności po prawej stronie. Spowoduje to wyświetlenie następującego okna dialogowego. Dodaj rozszerzenie pliku .woff i określ "application / x-font-woff" jako odpowiedni typ MIME:

enter image description here

Postępuj tak samo dla woff2 z aplikacją / x-font-woff2


2
2018-03-03 08:20





Wystąpił problem z pobieraniem aplikacji ASP.NET 5.0 / MVC 6 do wyświetlania statycznych typów plików binarnych lub przeglądania katalogów wirtualnych. Wygląda na to, że teraz jest to wykonywane w programie Configure () podczas uruchamiania. Widzieć http://docs.asp.net/en/latest/fundamentals/static-files.html na szybki podkład.


0
2018-04-05 21:29