Ich muss eine neue MIME-Zuordnung für .woff-Dateierweiterungen zu IIS Express hinzufügen.
Wenn ich das folgende Snippet zur "applicationhost.config" von IIS Express hinzufüge, funktioniert es einwandfrei:
<staticContent lockAttributes="isDocFooterFileName">
<mimeMap fileExtension=".woff" mimeType="font/x-woff" />
...
Eigentlich möchte ich es aber zu meiner "web.config" hinzufügen, damit nicht jeder Entwickler seine "applicationhost.config" lokal ändern muss.
Also habe ich es wieder aus der "applicationhost.config" -Datei entfernt und das folgende Snippet zur "web.config" des Projekts hinzugefügt:
<system.webServer>
...
<staticContent>
<mimeMap fileExtension=".woff" mimeType="font/x-woff" />
</staticContent>
</system.webServer>
Leider scheint es nicht so zu funktionieren, denn wenn ich versuche, auf eine .woff-Datei zuzugreifen, erhalte ich einen HTTP 404.3-Fehler.
Was mache ich falsch?
Das Einfügen in die "web.config" funktioniert einwandfrei. Das Problem war, dass ich den falschen MIME-Typ hatte. Anstatt von oder font/x-woff
es muss sein font/x-font-woff
application/font-woff
:
<system.webServer>
...
<staticContent>
<remove fileExtension=".woff" />
<mimeMap fileExtension=".woff" mimeType="application/font-woff" />
</staticContent>
</system.webServer>
Siehe auch diese Antwort zum MIME-Typ: https://stackoverflow.com/a/5142316/135441
Update 4/10/2013
Spec ist jetzt eine Empfehlung und der MIME-Typ ist offiziell:
application/font-woff
Wenn dies bei jemandem mit Fehlern wie "Fehler: Doppelter Sammlungseintrag vom Typ" mimeMap "mit eindeutigem Schlüsselattribut kann nicht hinzugefügt werden und/oder andere Skripten funktionieren nicht mehr, kann es hilfreich sein, den Eintrag zunächst wie folgt zu entfernen:
<staticContent>
<remove fileExtension=".woff" />
<mimeMap fileExtension=".woff" mimeType="application/font-woff" />
</staticContent>
Zumindest hat das mein Problem gelöst
<system.webServer>
<staticContent>
<remove fileExtension=".woff"/>
<mimeMap fileExtension=".woff" mimeType="application/font-woff" />
<mimeMap fileExtension=".woff2" mimeType="font/woff2" />
</staticContent>
</system.webServer>
Ich weiß, das ist eine alte Frage, aber ...
Ich bemerkte nur, dass meine Instanz von IISExpress keine Woff-Dateien lieferte, also suchte ich nicht (fand dies) und fand dann:
http://www.tomasmcguinness.com/2011/07/06/adding-support-for-svg-to-iis-express/
Ich nehme an, meine Installation unterstützt SVG, da ich damit keine Probleme hatte. Aber die Anweisungen sind für woff einfach modifizierbar:
Führen Sie den Befehl aus:
appcmd set config/section: staticContent/+ [fileExtension = 'woff', mimeType = 'application/x-woff']
Mein Problem wurde behoben und ich musste mich nicht mit irgendeiner beschissenen Konfiguration herumschlagen (so wie ich Unterstützung für die Verben PUT
und DELETE
hinzufügen musste). Yay!
Ich verwende nicht IIS Express, sondern entwickle gegen mein lokales vollständiges IIS 7.
Wenn also jemand hier ist, der das versucht, musste ich den MIME-Typ für woff über IIS Manager hinzufügen
MIME-Typen >> Klicken Sie rechts auf Link hinzufügen und geben Sie dann die Erweiterung ein: . Woff MIME-Typ: application/font-woff
Danke für diesen Beitrag. Ich habe dies für die Verwendung von Schnurrbart-Vorlagen in meinem ASP.NET MVC-Projekt gearbeitet. Ich habe Folgendes verwendet, und es hat für mich funktioniert.
<system.webServer>
<staticContent>
<mimeMap fileExtension=".mustache" mimeType="text/html"/>
</staticContent>
</system.WebServer>
Um das Problem zu beheben, doppelklicken Sie auf die Konfigurationsoption "MIME-Typen", während der Stammknoten IIS= im linken Bereich ausgewählt ist, und klicken Sie rechts im Bereich Aktionen auf den Link "Hinzufügen ..." Daraufhin wird das folgende Dialogfeld geöffnet: Fügen Sie die Dateierweiterung .woff hinzu, und geben Sie "application/x-font-woff" als entsprechenden MIME-Typ an:
Befolgen Sie dasselbe für woff2 mit application/x-font-woff2
Ich hatte ein Problem damit, dass meine ASP.NET 5.0/MVC 6-App statische Binärdateitypen unterstützt oder virtuelle Verzeichnisse durchsucht. Es sieht so aus, als ob dies jetzt in Configure () beim Start gemacht wird. Siehe http://docs.asp.net/en/latest/fundamentals/static-files.html für eine kurze Einführung.