J'ai ajouté ces règles à mime.types
:
application/x-font-ttf ttf;
font/opentype otf;
application/vnd.ms-fontobject eot;
font/x-woff woff;
Maintenant, l'en-tête Content-Type est correctement défini pour chacun d'eux. Mon seul problème maintenant est que Firefox nécessite Access-Control-Allow-Origin. J'ai googlé cette réponse et ajouté ceci à ma directive serveur:
location ~* \.(eot|ttf|woff)$ {
add_header Access-Control-Allow-Origin *;
}
mais maintenant mes polices ne sont plus du tout servies.
Au lieu de cela, les error.log
rapports indiquant qu'il essaie de les ouvrir sur le système de fichiers local ..
2010/10/02 22:20:21 [erreur] 1641 # 0: * 15 open () "/usr/local/nginx/html/fonts/mgopenmodernabold-webfont.woff" a échoué (2: aucun fichier ou répertoire de ce type) , client: 69.164.216.142, se rver: static.arounds.org, demande: "HEAD /fonts/mgopenmodernabold-webfont.woff HTTP / 1.1", hôte: "static.arounds.org"
Avez-vous des idées sur la syntaxe? Dois-je ajouter explicitement une règle disant de ne pas essayer de l'ouvrir localement ou quoi?
EDIT : Je pense que le problème est que je sers 2 emplacements différents maintenant. Et au lieu de cela, je devrais faire la vérification des expressions rationnelles à l'intérieur de la principale, puis nourrir l'en-tête.
la source
Réponses:
Woot! J'ai compris. C'était à peu près ce que je soupçonnais dans mon montage, j'ai dû faire la vérification du nom de fichier regex dans ma semelle
location {}
au lieu d'en faire un autre.la source
la source
Tous les actifs
Cela permettra à tous les actifs de fonctionner correctement. Vous pouvez ajouter
root
si vous souhaitez définir un nouvel emplacementla source
une autre solution: mettez toutes vos polices, par exemple
static/fonts
, et ajoutezla source