Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache访问控制允许woff2文件类型的源问题_Apache_.htaccess_Font Face_Font Awesome - Fatal编程技术网

Apache访问控制允许woff2文件类型的源问题

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

我在尝试加载字体时遇到访问控制源问题。这是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 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是模块已启用。我确实无法在服务器端修复它,但下面的技巧解决了这个问题。