Ich verwende @font-face
auf der Website meines Unternehmens und es funktioniert / sieht gut aus. Außer Firefox und Chrome werfen einen 404-Fehler in die .woff
Datei. IE wirft den Fehler nicht aus. Ich habe die Schriftarten im Stammverzeichnis, aber ich habe versucht, die Schriftarten im CSS-Ordner zu verwenden und sogar die gesamte URL für die Schriftart anzugeben. Wenn ich diese Schriftarten aus meiner CSS-Datei entferne, erhalte ich keine 404, daher weiß ich, dass es sich nicht um einen Syntaxfehler handelt.
Außerdem habe ich das Fontsquirrels-Tool verwendet, um die @font-face
Schriftarten und den Code zu erstellen :
@font-face {
font-family: 'LaurenCBrownRegular';
src: url('/laurencb-webfont.eot');
src: local('☺'),
url('/laurencb-webfont.woff') format('woff'),
url('/laurencb-webfont.ttf') format('truetype'),
url('/laurencb-webfont.svg#webfontaaFhOfws') format('svg');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'FontinSansRegular';
src: url('/fontin_sans_r_45b-webfont.eot');
src: local('☺'),
url('/fontin_sans_r_45b-webfont.woff') format('woff'),
url('/fontin_sans_r_45b-webfont.ttf') format('truetype'),
url('/fontin_sans_r_45b-webfont.svg#webfontKJHTwWCi') format('svg');
font-weight: normal;
font-style: normal;
}
css
http-status-code-404
font-face
woff
dcp3450
quelle
quelle
Antworten:
Ich hatte das gleiche Symptom - 404 bei Woff-Dateien in Chrome - und führte eine Anwendung auf einem Windows Server mit IIS 6 aus.
Wenn Sie sich in derselben Situation befinden, können Sie dies wie folgt beheben:
Lösung 1
"Fügen Sie einfach die folgenden MIME-Typdeklarationen über IIS Manager hinzu (Registerkarte" HTTP-Header "der Website-Eigenschaften):
.woff application / x-woff"Update: Laut MIME-Typen für Woff-Schriftarten und Grsmto ist der eigentliche MIME-Typ
application / x-font-woff (zumindest für Chrome). x-woff behebt Chrome 404s, x-font-woff behebt Chrome-Warnungen.Ab 2017 : Woff-Schriftarten wurden nun im Rahmen der RFC8081-Spezifikation auf den MIME- Typ
font/woff
und standardisiertfont/woff2
.Vielen Dank an Seb Duggan: http://sebduggan.com/posts/serving-web-fonts-from-iis
Lösung 2
Sie können die MIME-Typen auch in der Webkonfiguration hinzufügen :
quelle
Cannot add duplicate collection entry of type ‘mimeMap’ with unique key attribute ‘fileExtension’...
aufgrund eines Konflikts mit der Datei applicationhost.config möglicherweise ein Fehler angezeigt wird . Sie können dies beheben, indem Sie<remove fileExtension=".woff" />
direkt vor der Angabe der neuen mimeMap in Ihrer web.config-Datei hinzufügen, um das falsche Duplikat zu entfernen.application/font-woff
.application/x-font-woff
ist jetzt veraltet, ab RFC 8081 ist der richtige MIME-Typ jetztfont/woff
undfont/woff2
. Siehe die aktualisierte Antwort in Ihrer verknüpften FrageDie Antwort auf diesen Beitrag war sehr hilfreich und sparte viel Zeit. Ich stellte jedoch fest, dass ich bei der Verwendung
FontAwesome 4.50
eine zusätzliche Konfiguration für denwoff2
Erweiterungstyp hinzufügen musste, wie unten gezeigt. Andernfalls gab die Anforderung für denwoff2
Typ in den Chrome-Entwicklertools unter Konsole> Fehler einen 404-Fehler aus.Laut dem Kommentar von S.Serp sollte die folgende Konfiguration in das
<system.webServer>
Tag eingefügt werden .quelle
<staticContent>
muss sich in einem<system.webServer>
Tag befindenEigentlich funktioniert die Antwort von @Ian Robinson gut, aber Chrome wird sich weiterhin mit der folgenden Meldung beschweren: " Ressource als Schriftart interpretiert, aber mit Anwendung vom Typ MIME / x-woff übertragen "
Wenn Sie das bekommen, können Sie von ändern
zu
und Sie werden keine Chrome-Konsolenfehler mehr haben!
(getestet auf Chrome 17)
quelle
application/x-font-woff
ist jetzt veraltet, ab RFC 8081 ist der richtige MIME-Typ jetztfont/woff
undfont/woff2
. Siehe die aktualisierte Antwort in Ihrer verknüpften FrageLösung für IIS7
Ich bin auch auf das gleiche Problem gestoßen. Ich denke, diese Konfiguration von der Serverebene aus wäre besser, da sie für alle Websites gilt.
Gehen Sie zum IIS- Stammknoten und doppelklicken Sie auf die Konfigurationsoption "MIME-Typen"
Klicken Sie oben rechts im Aktionsfenster auf den Link "Hinzufügen".
Dies öffnet einen Dialog. Fügen Sie die Dateierweiterung .woff hinzu und geben Sie "application / x-font-woff" als entsprechenden MIME-Typ an.
Fügen Sie den MIME-Typ für die Dateierweiterung .woff hinzu
Folgendes habe ich getan, um das Problem in IIS 7 zu lösen
quelle
Zusätzlich zu Ians Antwort musste ich die Font-Erweiterungen im Anforderungsfilterungsmodul zulassen, damit es funktioniert.
quelle
Führen Sie den IIS-Server-Manager aus (Befehl ausführen: inetmgr). Öffnen Sie MIME-Typen und fügen Sie Folgendes hinzu
quelle
Ich habe eine Menge Dinge über Berechtigungen, MIME-Typen usw. ausprobiert, aber für mich war es schließlich so, dass die web.config den Handler für statische Dateien in IIS entfernt und ihn dann explizit für Verzeichnisse mit statischen Dateien wieder hinzugefügt hat. Sobald ich einen Standortknoten für mein Verzeichnis hinzugefügt und den Handler wieder hinzugefügt habe, erhielten die Anforderungen keine 404s mehr.
quelle
Wenn Sie CodeIgniter unter IIS7 verwenden:
In der Datei web.config, fügt woff zum Muster
Ich hoffe es hilft !
quelle
Dies mag offensichtlich sein, hat mich aber mehrmals mit 404s gestolpert ... Stellen Sie sicher, dass die Berechtigungen für den Schriftartenordner richtig eingestellt sind.
quelle
Überprüfen Sie auch Ihren URL-Umschreiber. Es kann 404 werfen, wenn etwas "Seltsames" gefunden wurde.
quelle
Wenn Sie keinen Zugriff auf Ihre Webserver-Konfiguration haben, können Sie die Schriftartdatei auch einfach umbenennen, sodass sie in svg endet (aber das Format beibehalten). Funktioniert gut für mich in Chrome und Firefox.
quelle
Wenn dies nach dem Hinzufügen von MIME-Typen immer noch nicht funktioniert, überprüfen Sie, ob "Anonyme Authentifizierung" im Abschnitt "Authentifizierung" auf der Site aktiviert ist, und wählen Sie "Anwendungspoolidentität" gemäß dem angegebenen Screenshot aus.
quelle
IIS-Mime-Typ: .woff-Schriftart / x-woff (nicht application / x-woff oder application / x-font-woff)
quelle
Ich habe es gelöst:
Ich musste die Mo'Bulletproofer-Methode anwenden
quelle