css – 当由IIS提供服务时,Fontawesome不起作用

前端之家收集整理的这篇文章主要介绍了css – 当由IIS提供服务时,Fontawesome不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我将我的应用程序放在IIS7服务器上时,FontAwesome对我不起作用.

在Firefox中,请求的URL被编码为http://l2etest.kema.intra/fonts/fontawesome-webfont.ttf?v = 4.0.3,我得到404.当我改变?至 ?一切正常.

同样的事情发生在IE中,但请求转到eot字体.

这就是我在CSS中所拥有的(与FontAwesome页面相同):

@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;
}

我认为问题是IIS编码URL而不是请求../fonts/fontawesome-webfont.eot?请求转到../fonts/fontawesome-webfont.eot?.

请不要建议删除’?’或来自网址的“#”.他们是故意的,是必不可少的.问题是如何使IIS不以这种方式编码URL.任何线索将不胜感激.

编辑:
顺便说一句.上面的情况发生在web.config中我设置requestValidationMode和requestPathInvalidCharacters:

<httpRuntime shutdownTimeout="360" maxRequestLength="102400" enable="true" requestValidationMode="2.0" requestPathInvalidCharacters="" />

没有它,我得到400(不良请求):
从客户端检测到潜在危险的Request.Path值(?)

如何修复IIS以正确提供字体?

EDIT2:
好的,我找到了问题的原因.用于MVC3的SquishIt捆绑工具正在改变这些角色.当我从bundle中排除font-awesome.css时,一切正常.

解决方法

Why is @font-face throwing a 404 error on woff files?

在Web配置中添加MIME类型:

<system.webServer>
    <staticContent>
      <remove fileExtension=".woff" /> <!-- In case IIS already has this mime type -->
      <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
    </staticContent>    
  </system.webServer>

猜你在找的CSS相关文章