2017-07-03 64 views
0

我有一个网页已经被赋予宪法的FONT-FAMILY一些文字:取消状态阻塞字体下载

enter image description here

这种字体是从foundary下载,并与定义的页面@字体面: enter image description here

当页面呈现时,浏览器熄灭的字体,但该请求被阻止的取消和文本没有得到FONT-FAMILY应用:

enter image description here

有没有人知道什么可能会导致此取消?这曾经工作,我无法想象我做了什么或发生了什么打破它。

感谢您的任何帮助。

+0

= ASCII系列化是否有控制台报告的错误?这是'Constitution.ttf'部署在不同的域? – shaochuancs

+0

是的!错误是:“访问来自http:// example.com的https://example.com/fonts/Constitution.ttf中的字体已被CORS策略阻止。”Access-Control-Allow-Origin“标题包含多个值:'http:// example.com','https:// example.com',但只有一个值是允许的,因此'http:// example.com'不允许访问。“谢谢!解决这个问题的最好方法是什么? – Steve

+0

应该只有一个'Access-Control-Allow-Origin'头只有一个原点(或通配符)。我想这是由于在服务器配置中意外添加了额外的'Access-Control-Allow-Origin'头部引起的。请检查我的答案。 – shaochuancs

回答

1

Access-Control-Allow-Origin标题仅包含一个原点或通配符(*)。

你的问题的评论中提到的错误(以下简称“‘访问控制允许来源’报头包含多个值...但只允许有一个”)清楚地表明,有在Access-Control-Allow-Origin头多个值,或有多个Access-Control-Allow-Origin标题。

要解决这个问题,应该只有一个Access-Control-Allow-Origin标题,只有一个原始值。


正如问题中提到的:“这曾经工作”。我想这个问题是由于在服务器配置中无意中添加了额外的Access-Control-Allow-Origin标头。


作为参考,请检查W3C specification

资源可以具有一个访问控制允许来源头中定义。标题必须与以下ABNF相匹配:

访问控制允许来源=“访问控制允许来源”“”ascii-origin | “*”

ASCII的起源原点

+0

我使用mod_rewrite修复了这个问题,将非HTTPS请求发送给HTTPS。但我很好奇,如果我想允许HTTP和HTTPS访问,我将如何修复它。我从来没有在代码中指定过一个Accedd-Control-Allow-Origin头文件,所以如何设置它,以及如何修改它?谢谢 – Steve

+0

@Steve我猜'http:// example.com'承载网页。在这种情况下,你只需要在'Access-Control-Allow-Origin'头中加入'https:// example.com'。如果'https:// example.com'承载网页,则将'http:// example.com'放入'Access-Control-Allow-Origin'标头中。否则,只需使用'*'。 – shaochuancs

+0

如果您从未指定'Access-Control-Allow-Origin',我的猜测是:它由某个模块/插件设置... – shaochuancs