跨域资源共享策略已阻止源Q4312079q的字体加载
:否
'Access-Control-Allow-Origin标头出现在所请求的
资源上。因此,不允许访问原始
http://skin.cdn.com
。我们在htaccess中有以下内容(在域的根目录中)。
<IfModule mod_headers.c>
Header add Access-Control-Allow-Origin "http://skin.cdn.com"
</IfModule>
问题:我忘记了其他设置吗?
非常感谢
#1 楼
更改网站根目录上的htaccess文件代码(即您的public_html“ .htaccess”文件)<FilesMatch "\.(ttf|otf|eot|woff|woff2)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "http://skin.cdn.com"
</IfModule>
</FilesMatch>
现在,您的CDN将被允许加载您的CDN,将其称为您的传递资源(字体)。
注意:您需要在CDN中清除所有内容,以便在几分钟内更新文件。
#2 楼
我没有足够的声誉来评论@Prashant Tapase的答案,但是您的根目录不是Your Public_html。这是您的根目录的子目录。和我一直在研究的答案中
FileMatch指令应位于IfModule内部,如下所示
<IfModule mod_headers.c>
<FilesMatch "\.(eot|otf|ttc|ttf|woff|woff2)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>
如果这是错误的,请纠正我。
或者您可以像他提到的那样指定字体的特定URL / URI。
如果是CDN,则应使用https版本而不是http。
评论
您的答案对我来说是完美无缺的,但是我能问为什么您选择通配符而不是选择将其限制为特定来源吗?
– amgraham
15年7月7日在19:17
此方法仍然有效。
–拉胡尔
17年2月24日在13:19
我想我们永远不会知道
–丹尼
20-04-22在13:32