【问题标题】:Troubleshooting Font Awesome not working in Chrome on WordPress故障排除 Font Awesome 无法在 WordPress 上的 Chrome 中运行
【发布时间】:2016-05-15 09:46:26
【问题描述】:

我的 Font Awesome 图标正在 Firefox 和 Safari 中加载,但在 Chrome 中没有。

在清除浏览器缓存并重新启动/重新加载 apache 之前,我已将以下几行添加到我的网络服务器的 .htaccess 文件中:

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

这是检查告诉我的:

Font from origin 'https://www.portalpay.io' has been blocked from loading
by Cross-Origin Resource Sharing policy: 
No 'Access-Control-Allow-Origin' header is present on the requested resource. 
Origin 'https://portalpay.io' is therefore not allowed access.

我正在使用在 Digital Ocean Ubuntu 12.04 droplet 上运行的 WordPress 和 apache。我还尝试在 htaccess 中添加一些行,但这会阻止网站加载。

【问题讨论】:

  • 我注意到apache一直在给我警告:AH00558

标签: css wordpress apache .htaccess font-awesome


【解决方案1】:

我也尝试在 htaccess 中添加一些行

你不需要这样做。

来自https://www.portalpay.io 的字体已被阻止加载 通过跨域资源共享策略: 请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin https://portalpay.io 因此不允许访问。

这里的问题只是您通过https://portalpay.io 加载您的网站,然后尝试从https://www.portalpay.io 加载字体 - 这是不同的来源。

是的,发送带有字体资源响应的 Access-Control-Allow-Origin 标头可以解决此问题 - 但更简单的解决方案是从与网站本身相同的地址加载字体。

所以去检查你的样式表或字体加载器,看看它在哪里尝试从 www 地址请求字体,并将其替换为非 www 版本。

【讨论】:

  • 谢谢伙计!您给了我在portalpay.io/wp-admin/options-general.php 中更改“WordPress 地址(URL)”的想法,我删除了 www,现在可以使用 =)
  • 虽然我确实必须将那些 htaccess 行保留在那里以使其在 firefox 中正常工作
  • 我知道 Firefox 对跨域 webfont 加载很挑剔 - 但如果它们实际上是通过与页面完全相同的协议、域和端口加载的,那么它应该可以正常工作,而无需任何额外的 CORS 标头(因为不涉及 CO)- 你确定你看到的不仅仅是一个缓存问题吗?
猜你喜欢
  • 2017-02-19
  • 1970-01-01
  • 2021-11-22
  • 2014-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-03
相关资源
最近更新 更多