跨域字体嵌入:为什么只能在同一域上?
您正在尝试为您的网站创建字体存储库,使用@font-face声明。您已在子域上为每种字体设置了文件夹,创建了一个包含字体绝对链接的 font-face.css 文件,并确认它已成功加载。但是,这些字体未显示在您的其他网站上。
问题:
Firefox 限制跨域字体嵌入,包括子域。这是一项安全措施,旨在防止未经授权访问其他网站的字体。
解决方案:
要在子域上启用跨域字体嵌入,请添加以下内容代码片段到该子域的 .htaccess 文件:
<FilesMatch "\.(ttf|ttc|otf|eot|woff)$"> <IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" </IfModule> </FilesMatch>
此代码允许任何网站访问通过将 Access-Control-Allow-Origin 标头设置为“*”来创建您的子域。
关于访问控制:
虽然 W3C 规范允许使用通配符或Access-Control-Allow-Origin 的特定域,它没有提供验证 Origin 标头的明确机制。目前,上述解决方案应该允许从所有网站进行访问。
以上是为什么我无法在其他网站上嵌入我的子域中的字体?的详细内容。更多信息请关注PHP中文网其他相关文章!