字体Awesome错误:可下载字体:被过滤器拒绝。

20
可下载字体:被防护程序拒绝(字体系列:“FontAwesome”样式:普通 权重:普通 伸展性:普通 src索引:1)来源:http://192.168.1.254/theme/font-awesome/fonts/fontawesome-webfont.woff2?v=4.6.3 http://192.168.1.254/theme/font-awesome/css/font-awesome.min.css 第4行。我一直收到以上错误,尝试了许多在互联网上找到的方法(例如将字体托管到自己的服务器上、CORS问题、Web服务器中的MIME类型头配置等),以及可以解决此问题的HTTP头和MIME类型的其他组合,但没有任何解决方法。

1
对我没用:这篇文章并没有解决我的错误 https://dev59.com/4GAf5IYBdhLWcg3w9Wmu - leonvr
1
@leonvr,就像我说的那样,即使更新了Mime类型仍然不起作用,这可能是原因。你的一定卡在Mime类型上了。 - Amit Shah
6个回答

24

从这个块(font-awesome.css / font-awesome.min.css)中删除?v=4.6.3以及剩余的尾部。

@font-face {
  font-family: 'FontAwesome';
  src: url('../fonts/fontawesome-webfont.eot?v=4.6.3');
  src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.6.3') format('embedded-opentype'), 
  url('../fonts/fontawesome-webfont.woff2?v=4.6.3') format('woff2'),
  url('../fonts/fontawesome-webfont.woff?v=4.6.3') format('woff'),
  url('../fonts/fontawesome-webfont.ttf?v=4.6.3') format('truetype'), 
  url('../fonts/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular') format('svg');
  font-weight: normal;

更新至:

@font-face {
  font-family: 'FontAwesome';
  src: url('../fonts/fontawesome-webfont.eot');
  src: url('../fonts/fontawesome-webfont.eot') format('embedded-opentype'), 
  url('../fonts/fontawesome-webfont.woff2') format('woff2'), 
  url('../fonts/fontawesome-webfont.woff') format('woff'), 
  url('../fonts/fontawesome-webfont.ttf') format('truetype'), 
  url('../fonts/fontawesome-webfont.svg') format('svg');
  font-weight: normal;
  font-style: normal;
}

@mayaa,在我的情况下,是因为我的Web服务器不接受/期望使用GET时与上述URL调用一起附加任何参数(但我不知道使用POST)。 - Amit Shah
我在Chrome中看到错误,例如iis返回404.htm与某些fontawesome相关的请求有关,直到进行了此更改。 - Greg

4
捕捉到了!! 通过替换

解决了问题。
font-family: 'fontawesome-webfont';

替代

font-family: 'FontAwesome';

这适用于我。


2
如果你收到了“fontawesome-webfont.woff2?v=4.6.3未找到”的错误提示,但确定已经存在该文件,请按照以下步骤在IIS中解决:

需要在配置文件中添加woff2的MIME类型。

<system.webServer>
<staticContent>
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".woff2" mimeType="font/woff2" />
</staticContent>
</system.webServer>

你的回答解决了问题!我在IIS 8(W2012)上遇到了这个错误,但在IIS 10(w2016)上一切正常。 - GigaKatowice

1
如果最佳答案对你无效,可以考虑检查字体文件夹是否存在。

1
在我的情况下,我遇到了一个SVG加载器的问题(可能是vue-svg-loader或nuxt-svg-loader),最终将字体URL转换为一个对象,导致出现以下结果:
@font-face{
    font-family:fontello;
    ...
    src:url([object object]) format("svg");
}

0
今天我遇到了同样的问题。 在@font-face中修复路径后,问题得到解决。如果你遇到类似的错误,请确保字体文件的路径是正确的。
例如:
@font-face {
  font-family: 'Rubik';
  src: url("../../fonts/Rubik/Rubik-Light.ttf");
    
  /* src: url("../../fonts/Rubik/Rubik-Light.woff"); */
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接