CORS 策略已阻止从源访问字体:请求的资源上不存在'Access-Control-Allow-Origin'标头



我在网站上有两个问题:

1(混合内容:页面上的https://www.mywebsite.com/'已加载到https上,但请求使用Insecure字体'http://demo.kallyas.kallyas.net/ares-furniture-interior-interior-interior-interior----Design/wp-content/uploads/sites/6/2016/03/Montserrat-light-webfont.woff'。此内容也应通过https提供。

2(访问字体,请访问'https://kallyas.net/demo-ares/furniture/wp-content/uploads/sites/6/6/6/2016/03/montserrat-light-webfont.woff'://www.mywebsite.com'已被CORS策略所阻止:

否'访问控制 - 允许 - 原始'标题存在于请求 资源。

我尝试过:

<IfModule mod_rewrite.c>
Header set Access-Control-Allow-Origin "*"
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

&amp;

Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "GET,PUT,POST,DELETE"
Header set Access-Control-Allow-Headers "Content-Type, Authorization"

将此代码放在.htaccess文件中,然后尝试

<IfModule mod_headers.c>
   Header set Access-Control-Allow-Origin "*"
</IfModule>
<FilesMatch ".(eot|ttf|otf|woff)">
   Header set Access-Control-Allow-Origin "*"
</FilesMatch>

您可以通过在服务器root文件夹中编辑.htaccess文件(或Web的位置(,将浏览器的特定标头添加到服务器的响应中,以指示浏览器允许获取特定资源(字体,图像等(。网站是(:

<IfModule mod_headers.c>
  <FilesMatch ".(ttf|ttc|otf|eot|woff|woff2|font.css)$">
     Header set Access-Control-Allow-Origin "*"
  </FilesMatch>
</IfModule>

REGEX行(ttf|ttc|otf|eot|woff|woff2|font.css)表示,我们将使用此类扩展名的文件 and 将此标头添加到响应中,每个CSS文件以" font"开头并以" CSS"结尾(DOT表示任何字符,因为它没有被逃脱(。

根据我的经验,这是解决问题的最有效和最简单的方法。

最新更新