我有一个页面,其中包含一些字体系列文本:
此字体是从a Foundary下载的,并且是为@ font-face的页面定义的:
当页面呈现时,浏览器会输出字体,但请求被取消阻止,文本没有应用字体系列:
有谁知道这可能会导致取消?这曾经起作用了,我无法想象我做了什么或者发生了什么破坏它。
感谢您的帮助。
答案 0 :(得分:3)
Access-Control-Allow-Origin
标头只需要一个来源或通配符(*
)。
您在问题评论中提到的错误(“'Access-Control-Allow-Origin'标题包含多个值...但只允许一个”)清楚地表明Access-Control-Allow-Origin
中有多个值标头,或者有多个Access-Control-Allow-Origin
标头。
要解决此问题,应该只有一个Access-Control-Allow-Origin
标头,只有一个原始值。
如问题中所述:“这曾经起作用”。我想这个问题是由于在服务器配置中意外添加了额外的Access-Control-Allow-Origin
标头引起的。
供参考,请查看W3C specification:
资源可以定义一个 Access-Control-Allow-Origin标头。标头必须与以下ABNF匹配:
Access-Control-Allow-Origin =“Access-Control-Allow-Origin”“:”ascii-origin | “*”
ascii-origin = 原点的ASCII序列化
答案 1 :(得分:1)
将其放入您的虚拟主机定义或.htaccess
文件中:
<FilesMatch ".(ttf|otf|woff|woff2|eot|ttc)$">
Header set Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
</FilesMatch>
重新启动Apache Web服务器