Pourquoi @font-face envoie-t-il une erreur 404 sur les fichiers woff?
j'utilise @font-face
sur le site de mon entreprise et il fonctionne/semble grand. Sauf que Firefox et Chrome vont lancer une erreur 404 sur le fichier .woff
. IE ne jette pas l'erreur. J'ai les polices situé à la racine mais j'ai essayé avec les polices dans le répertoire css et même donner l'adresse url de la police. Si vous supprimez ces polices de mon fichier css, Je ne reçois pas de 404, donc je sais que ce n'est pas une erreur de syntaxe.
aussi, j'ai utilisé l'outil fontsquirrels pour créer le @font-face
polices de caractères et le code:
@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;
}
14 réponses
j'éprouvais ce même symptôme - 404 sur les fichiers woff dans Chrome - et j'exécutais une application sur un serveur Windows avec IIS 6.
si vous êtes dans la même situation, vous pouvez la corriger en faisant ce qui suit:
Solution 1
" il suffit d'ajouter les déclarations de type MIME suivantes via IIS Manager (onglet Headers HTTP des propriétés du site web): .WOFF application / x-woff
mise à Jour: selon Types MIME pour woff polices et Grsmto le type MIME est application/x-font-woff (pour Chrome au moins). x-woff corrigera Chrome 404s, x-font-woff corrigera les Avertissements Chrome.
à partir de 2017 : les polices Woff ont été normalisées dans le cadre de la spécification RFC8081 au type mime font/woff
et font/woff2
.
grâce à Seb Duggan: http://sebduggan.com/posts/serving-web-fonts-from-iis
Solution 2
vous pouvez également ajouter les types MIME dans le web config :
<system.webServer>
<staticContent>
<remove fileExtension=".woff" /> <!-- In case IIS already has this mime type -->
<mimeMap fileExtension=".woff" mimeType="font/woff" />
</staticContent>
</system.webServer>
en fait la réponse de @Ian Robinson fonctionne bien mais Chrome continuera à se plaindre avec ce message : " Ressources interprété comme de la Police, mais transféré, avec le type MIME application/x-woff "
si vous obtenez cela, vous pouvez changer de
application / x-woff
à
application/x - "police de la 1519150920" -woff
et vous n'aurez plus d'erreurs Chrome console !
(testé sur Chrome 17)
la réponse à ce message a été très utile et un grand épargnant. Cependant, j'ai découvert que lorsque j'utilisais FontAwesome 4.50
, j'ai dû ajouter une configuration supplémentaire pour le type d'extension woff2
, comme indiqué ci-dessous.les requêtes pour le type woff2
donnaient une erreur 404 dans les outils de développement de Chrome sous les erreurs Console>.
selon le commentaire de S. Serp, la configuration ci-dessous doit être placée dans la balise <system.webServer>
.
<staticContent>
<remove fileExtension=".woff" />
<!-- In case IIS already has this mime type -->
<mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
<remove fileExtension=".woff2" />
<!-- In case IIS already has this mime type -->
<mimeMap fileExtension=".woff2" mimeType="application/x-font-woff2" />
</staticContent>
Solution pour IIS7
"j'ai également rencontré le même problème. Je pense faire cette configuration au niveau du serveur serait mieux car elle s'applique pour tous les sites.
-
allez à IIS root node et double-cliquez sur les " types MIME" option de configuration
-
cliquez sur "Ajouter" lien dans le panneau Actions en haut à droite.
-
cela ouvrira un dialogue. Ajouter. extension de fichier woff et spécifier "application / x-font-woff" comme type MIME correspondant.
ajouter le type MIME pour .woff nom du fichier extension
voici ce que j'ai fait pour résoudre la question en litige dans L'affaire 151930920"
Exécuter le Gestionnaire des services internet (commande exécuter : inetmgr) Ouvrir les types Mime et ajouter
extension de nom de fichier: .woff
type MIME : application / octet-stream
en plus de la réponse de Ian, j'ai dû autoriser les extensions de police dans le module de filtrage des demandes pour que cela fonctionne.
<system.webServer>
<staticContent>
<remove fileExtension=".woff" />
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
<mimeMap fileExtension=".woff2" mimeType="application/x-font-woff" />
</staticContent>
<security>
<requestFiltering>
<fileExtensions>
<add fileExtension=".woff" allowed="true" />
<add fileExtension=".ttf" allowed="true" />
<add fileExtension=".woff2" allowed="true" />
</fileExtensions>
</requestFiltering>
</security>
</system.webServer>
j'ai essayé une tonne de choses autour des permissions, types mime, etc, mais pour moi il a fini par être que le web.config avait supprimé le gestionnaire de fichiers statique dans IIS, puis l'avait explicitement ajouté pour les répertoires qui auraient des fichiers statiques. Dès que j'ai ajouté un noeud de localisation pour mon répertoire et que j'ai de nouveau ajouté le Gestionnaire, les requêtes ont cessé de recevoir les 404s.
si vous utilisez CodeIgniter sous IIS7:
dans votre web.fichier de configuration, ajouter woff au pattern
<rule name="Rewrite CI Index">
<match url=".*" />
<conditions>
<add input="{REQUEST_FILENAME}" pattern="css|js|jpg|jpeg|png|gif|ico|htm|html|woff" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:0}" />
</rule>
Espère que cela aide !
c'est peut-être évident, mais ça m'a fait trébucher avec des 404 à plusieurs reprises... Assurez-vous que le dossier polices autorisations sont définies correctement.
également vérifier votre URL rewriter. Il peut jeter 404 si quelque chose de "bizarre" a été trouvé.
si vous n'avez pas accès à votre configuration de serveur web, vous pouvez aussi simplement renommer le fichier de police pour qu'il se termine en svg (mais conserver le format). Ça marche très bien pour moi dans Chrome et Firefox.
si cela ne fonctionne toujours pas après l'ajout des types MIME, veuillez vérifier si" Anonymous Authentication "est activée dans la section Authentification du site et assurez-vous de sélectionner" Application pool identity " selon la capture d'écran donnée.
IIS Mime Type:.woff police/x-woff (pas d'application/x-woff, ou de l'application/x-font-woff)