Fontawesome ne fonctionne pas lorsqu'il est servi par IIS
FontAwesome ne fonctionne pas pour moi quand j'ai mis mon application sur le serveur IIS7.
Dans Firefox, l'URL demandée est codé pour http://l2etest.kema.intra/fonts/fontawesome-webfont.ttf%3Fv=4.0.3
et je reçois 404. Quand je change de %3F
à ?
tout fonctionne bien.
Même chose qui se passe dans IE, mais la demande va à l'eot police.
C'est ce que j'ai dans le CSS (le même que sur FontAwesome page):
@font-face {
font-family: 'FontAwesome';
src: url('../fonts/fontawesome-webfont.eot?');
src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.0.3') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.0.3') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.0.3') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular') format('svg');
font-weight: normal;
font-style: normal;
}
Je pense que le problème est que IIS code pour les Url et au lieu de demander ../fonts/fontawesome-webfont.eot?
la demande va à ../fonts/fontawesome-webfont.eot%3F
.
Merci de ne pas proposer la suppression de '?' ou '#' partir de l'Url. Ils sont là sur le but et sont essentiels. La question est de savoir comment faire IIS pas pour coder l'Url de cette façon. Des indices seront appréciées.
Modifier:
Btw. la situation ci-dessus a lieu lorsque dans le web.config j'ai mis requestValidationMode et requestPathInvalidCharacters:
<httpRuntime shutdownTimeout="360" maxRequestLength="102400" enable="true" requestValidationMode="2.0" requestPathInvalidCharacters="" />
Sans elle je obtenir 400 (Bad request):
Potentiellement dangereuse Demande.Valeur du chemin a été détectée par le client (?)
Comment puis-je réparer IIS pour servir la police correctement?
Edit2:
OK, j'ai trouvé la cause du problème. SquishIt regroupement outil pour MVC3 a été la modification de ces caractères. Quand j'ai exclure font-awesome.css du bundle tout fonctionne bien.
Oui les types MIME sont ensemble. C'est la seule chose que les gens parlent tout le temps. La police est servi lors de la correction de l'URL est fourni (? au lieu de %3F)
Si vous avez trouvé la solution, puis répondre à votre propre question, comme il sera potentiellement servir comme une ressource pour les autres dans le futur.
double possible de Pourquoi est - @font-face à jeter une erreur 404 sur woff fichiers?
OriginalL'auteur Michal B. | 2014-04-11
Vous devez vous connecter pour publier un commentaire.
Pourquoi est - @font-face à jeter une erreur 404 sur woff fichiers?
Ajouter les types MIME dans le de configuration web de:
OriginalL'auteur Brad
Vous pouvez ouvrir IIS, pointent vers votre site, En IIS session, sélectionnez Types MIME.
Après des Types Mime vue montrant, cliquez sur Ajouter ->
Dans la boîte de dialogue:
cliquez sur OK.
Fait.
OriginalL'auteur Stiger
Cette Réponse n'est pas pour le problème ci-dessus Mais pour ceux qui font face à une erreur semblable, mais en raison des différentes raison et de la terre dans ce fil.
J'ai fait face à un problème similaire, mais plus tard découvert qu'IIS a été d'essayer de regarder pour font-awesome woff,eot fichiers dans le dossier
MyIpAddress/fonts/fontawesome-webfont.woof
mais j'ai eu les fichiers dans un autre dossier. Le déplacement de lafontawesome-webfont.eot, fontawesome-webfont.svg,fontawesome-webfont.ttf, fontawesome-webfont.woff
dans mon dossier polices résolu mon problèmeCela a fonctionné pour moi. J'ai déplacé le dossier fonts dans mon répertoire racine du Projet Visual Studio
OriginalL'auteur Rajshekar Reddy
SquishIt regroupement outil pour MVC3 était url-l'encodage de la police des chemins, de sorte
../fonts/fontawesome-webfont.eot?
dans le fichier css a été changé pour../fonts/fontawesome-webfont.eot%3F
. Cela renvoie normalement 400, car %3F est considéré comme dangereux. Si vous définissezrequestPathInvalidCharacters=""
puis %3F est considéré comme sûr, mais il n'y a évidemment pas de fichier `../fonts/fontawesome-webfont.eot%3F", donc 404.J'ai enlevé fontawesome.css du bundle et tout fonctionne bien.
OriginalL'auteur Michal B.
pour moi seulement d'ajouter le bootstrap CDN lien a résolu le problème
pour votre page:
OriginalL'auteur Alexander Khorunzhiy
Jouer avec IIS sever est risqué, au lieu de cela, j'ai essayé un autre truc qui a été de 100% de réussite.
Étape 1
Renommer la police de caractères des noms de fichiers en ajoutant .jpg à la fin des fichiers.
fontawesome-webfont.eot.jpg (de même)
Puis Modifier les types de Fichiers dans fontawesome.css de rendu des polices lignes
OriginalL'auteur dazunE
Si vous utilisez CodeIgniter sous IIS7 :
Dans votre site web.fichier de configuration, ajouter woff à la modèle
<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 !
OriginalL'auteur IvanJijon
J'ai changé de woff2 à woff et il est allé sur les beaux.
OriginalL'auteur Gregory Way
Si vous ajoutez FontAwesome par le groupement, il peut jeter le woff2 url. Voir la solution suivante sur un fil similaire où
CssRewriteUrlTransform
est utilisé pour retravailler l'url:https://stackoverflow.com/a/22700610/746984
OriginalL'auteur Savage
Utiliser cette can dans votre index.html page...
OriginalL'auteur Nag Akkena