Type Mime pour les polices WOFF?
quel type mime les polices WOFF doivent-elles être servies?
je sers les polices truetype (ttf) comme font/truetype
et opentype (otf) comme font/opentype
, mais je ne trouve pas le bon format pour les polices WOFF.
j'ai essayé font/woff
, font/webopen
, et font/webopentype
, mais Chrome se plaint toujours:
" ressource interprétée comme police mais transférée avec application de type MIME/octet-stream."
N'importe qui savez?
19 réponses
mise à Jour de Keith Shaw, le commentaire de sur Jun 22, 2017:
en date de février 2017, RFC8081 est la norme proposée. Il définit un type de média de premier niveau pour les polices, donc le type de média standard pour WOFF et WOFF2 est le suivant:
font/woff
font/woff2
En janvier 2011 , il a été annoncé que dans l'intervalle, le Chrome reconnaître
application/x-font-woff
comme type mime pour WOFF. Je sais que ce changement est maintenant en Chrome bêta et si pas stable encore, il ne devrait pas être trop loin.
pour moi, le prochain a été de travailler dans un .fichier htaccess.
AddType font/ttf .ttf
AddType font/eot .eot
AddType font/otf .otf
AddType font/woff .woff
ce sera application/font-woff
.
voir http://www.w3.org/TR/WOFF/#appendix-b (recommandation du candidat du W3C 04 août 2011)
et http://www.w3.org/2002/06/registering-mediatype.html
De Mozilla css font-face des notes
dans Gecko, les polices web sont soumises à la même restriction de domaine (fichiers de polices doit être sur le même domaine que la page qui les utilise), à moins que des contrôles D'accès HTTP ne soient utilisés pour assouplir cette restriction. Note: Puisqu'il n'y a pas de types MIME définis pour les polices TrueType, OpenType et WOFF, le type MIME du fichier spécifié n'est pas considéré.
source: https://developer.mozilla.org/en/CSS/@font-face#Notes
référence pour ajouter les types MIME de police à .NET /IIS
via le web.config
<system.webServer>
<staticContent>
<!-- remove first in case they are defined in IIS already, which would cause a runtime error -->
<remove fileExtension=".woff" />
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".woff" mimeType="application/font-woff" />
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
</staticContent>
</system.webServer>
via le Gestionnaire des services internet
NGINX SOLUTION
fichier
/etc/nginx/mime.types
ou
/usr/local/nginx/conf/mime.types
ajouter
font/ttf ttf;
font/opentype otf;
application/font-woff woff;
application/vnd.ms-fontobject eot;
supprimer
application/octet-stream eot;
REFERENCES
merci à Mike Fulcher
en date de février 2017, RFC8081 est la norme proposée. Il définit un type de média de premier niveau pour les polices, donc le type de média standard pour WOFF et WOFF2 est le suivant:
font/woff
font/woff2
il n'y a pas de type MIME font
! Ainsi, font/xxx
est toujours erroné.
@Nico ,
Actuellement, il n'y a pas de norme définie pour le type mime de police woff. J'utilise un service cdn de livraison de police et il utilise font / woff et je reçois le même avertissement dans chrome.
Référence: The Internet Assigned Numbers Authority
la chose qui a fait ça pour moi était d'ajouter ceci à mes mime_types.initialisateur rb:
Rack::Mime::MIME_TYPES['.woff'] = 'application/x-font-woff'
et effacer le cache
rake tmp:cache:clear
avant de redémarrer le serveur.
Source: https://github.com/sstephenson/sprockets/issues/366#issuecomment-9085509
WOFF:
- Web Open Font Format
- il peut être compilé avec les contours TrueType ou PostScript (CFF)
- il est actuellement supporté par FireFox 3.6 +
essayez d'ajouter que:
AddType application/vnd.ms-fontobject .eot
AddType application/octet-stream .otf .ttf
peut-être que ça aidera quelqu'un. J'ai vu que sur IIS 7 .ttf
est déjà un type mime connu. Il est configuré comme:
application/octet-stream
donc j'ai juste ajouté que pour tous les types de police CSS( .oet
, .svg
, .ttf
, .woff
) et J'ai commencé à les servir. Les outils de développement de Chrome ne se plaignent pas non plus de réinterpréter le type.
santé, Michael
ajoutez ce qui suit à votre .htaccess
AddType application/x-font-woff woff
bonne chance
est défini automatiquement .ttf comme application / octet-stream qui semble fonctionner très bien et fontshop recommande .woff à définir comme application / octet-stream
j'ai eu le même problème il y a un instant et c'est la solution qui a fonctionné pour moi:
font/opentype
Pour tous les index.php supprime l'url du formulaire et le fichier woff autorisé. pour l'écriture de code ci-dessous dans .htaccess et faire cette alternance à votre application/config/config.fichier php: $config ['index_page'] = ";
uniquement Pour Linux serveur d'hébergement. .détails du fichier htaccess
AddType font/ttf .ttf
AddType font/eot .eot
AddType font/otf .otf
AddType font/woff .woff
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
#Removes access to the system folder by users.
#Additionally this will allow you to create a System.php controller,
#previously this would not have been possible.
#'system' can be replaced if you have renamed your system folder.
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/ [L]
#When your application folder isn't in the system folder
#This snippet prevents user access to the application folder
#Submitted by: Fabdrol
#Rename 'application' to your applications folder name.
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/ [L]
#Checks to see if the user is attempting to access a valid file,
#such as an image or css document, if this isn't true it sends the
#request to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/ [L]
</IfModule>
<IfModule !mod_rewrite.c>
# If we don't have mod_rewrite installed, all 404's
# can be sent to index.php, and everything works as normal.
# Submitted by: ElliotHaughin
ErrorDocument 404 /index.php
</IfModule>
je sais que ce post est un peu vieux, mais après avoir passé de nombreuses heures à essayer de faire fonctionner les polices sur ma machine nginx local et d'essayer des tonnes de solutions, j'ai finalement obtenu celui qui a fonctionné pour moi comme un charme.
location ~* \.(eot|otf|ttf|woff|woff2)$ {
add_header Access-Control-Allow-Origin *;
}
dans la parenthèse vous pouvez mettre les extensions de vos polices ou généralement les fichiers que vous voulez charger. Par exemple, je l'ai utilisé pour les polices et pour les images(png, jpg etc etc) ainsi que donc ne soyez pas confus que cette solution s'applique seulement pour les polices.
mettez-le simplement dans votre fichier de configuration nginx, redémarrez et j'espère qu'il fonctionnera aussi pour vous!
type Mime pourrait ne pas être votre seul problème. Si le fichier de polices est hébergé sur S3 ou un autre domaine, vous pouvez en outre avoir le problème que Firefox ne chargera pas les polices de différents domaines. C'est une solution facile avec Apache, mais dans Nginx, j'ai lu que vous pourriez avoir besoin d'encoder vos fichiers de police dans la base-64 et de les intégrer directement dans votre fichier de police css.
Node js: Instal commande ci-dessous
npm i -- save @fortawesome /fontawesome