Apache访问控制允许woff2文件类型的源问题
我在尝试加载字体时遇到访问控制源问题。这是Chrome浏览器控制台中记录的错误消息Apache访问控制允许woff2文件类型的源问题,apache,.htaccess,font-face,font-awesome,Apache,.htaccess,Font Face,Font Awesome,我在尝试加载字体时遇到访问控制源问题。这是Chrome浏览器控制台中记录的错误消息 Access to Font at 'https://example.com/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0' from origin 'https://example2.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is pres
Access to Font at 'https://example.com/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0' from origin 'https://example2.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://example2.com' is therefore not allowed access.
我已经更新了apache2服务器httpd.conf并启用了头文件
<IfModule mod_mime.c>
AddType application/font-woff2 .woff2
</IfModule>
<FilesMatch "\.(ttf|ttc|otf|eot|woff2|woff|font.css|css|js)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>
AddType应用程序/font-woff2.woff2
标题集访问控制允许原点“*”
我也尝试过对.htaccess文件进行相同的设置,但结果是一样的。这有点奇怪,因为我只针对woff2文件扩展名面对这个问题 如何使用服务器脚本而不是物理字体文件
<style type="text/css">
@font-face {
font-family: 'OpenSans';
src: url('path/to/fonts.php') format('woff2');
}
html, body{
font: normal 16px OpenSans, sans-serif;
}
</style>
@字体{
字体系列:“OpenSans”;
src:url('path/to/fonts.php')格式('woff2');
}
html,正文{
字体:普通16px OpenSans,无衬线;
}
如何用PHP解决跨域@font-face问题
<?php
// fonts.php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/font-woff2");
echo @file_get_contents("path/fontawesome-webfont.woff2");
?>
在
IfModule
中包装指令总是会提出一个问题:“这个模块真的启用了吗?”。如果没有IfModule
,日志文件中至少会出现一些服务器错误。@OlafDietsche是模块已启用。我确实无法在服务器端修复它,但下面的技巧解决了这个问题。