Wordpress 中的 CORS 标头

Posted

技术标签:

【中文标题】Wordpress 中的 CORS 标头【英文标题】:CORS headers in Wordpress 【发布时间】:2016-07-04 01:40:48 【问题描述】:

我在 CORS 标头无法访问我的 Wordpress 网站中的字体时遇到了一些困难。

这是我在控制台中遇到的错误:

*

跨域请求被阻止:同源策略不允许读取 远程资源在 http://fonts.gstatic.com/s/raleway/v10/0dTEPzkLWceF7z0koJaX1A.woff2。 (原因:CORS 标头“Access-Control-Allow-Origin”缺失)

.*

我尝试了以下方法,但无济于事:

修改我的 htaccess。文件。这里是:

如果它安装在 HostPay 下,请关闭重写引擎。

重写引擎关闭

AddHandler 应用程序/x-httpd-php53 .php .php5

DirectoryIndex index.cgi index.php

开始 WordPress

重写引擎开启 标头集 Access-Control-Allow-Origin "" 标头添加 Access-Control-Allow-Headers "origin, x-requested-with, content-type" 标头添加 Access-Control-Allow-Methods “PUT、GET、POST、DELETE、OPTIONS” 标头集 Access-Control-Allow-Origin "" RewriteBase / 重写规则 ^index.php$ - [L] RewriteCond %REQUEST_FILENAME !-f RewriteCond %REQUEST_FILENAME !-d 重写规则。 /index.php [L]

结束 WordPress

正在下载 WP-CORS 插件,这似乎是我需要的,但没有出现该死的“设置”选项卡!

在我的 header.php 文件顶部添加一些 php,但这似乎也没有任何作用。

sit eis 托管在 123-reg 上,因此我无法访问 Apache,因此 sudo a2enmod 标头也不是一个选项。

任何帮助将不胜感激

【问题讨论】:

问题不在您的服务器上。 CORS 标头必须由请求文件所在的服务器发送。在您的情况下,文件位于谷歌服务器上,他们以正确的方式发送 Access-Control-Allow-Origin: * 标头。 对不起,我不确定我是否遵循 - 所以问题不是我的目的,当字体基于时,它在 Google 服务器上?肯定不是这样吗? 【参考方案1】:

提供文件的服务器可以选择谁来请求文件。正如 KIMB-technologies 所说,您尝试请求的文件位于 Google 的服务器上。

您不能为其他人的服务器设置 CORS。那样就不好了。

您可以通过here 阅读更多关于 Mozilla 的 CORS。

【讨论】:

以上是关于Wordpress 中的 CORS 标头的主要内容,如果未能解决你的问题,请参考以下文章

在 wordpress api 中启用 CORS

没有使用 Angular + WordPress 的“Access-Control-Allow-Origin”标头

如何 CORS 允许 Sails 中的标头

Django CORS 标头未按文档中的建议工作

CORS 标头不适用于 Express 云功能中的特定路由

根据 CORS 预检响应中的标头“Access-Control-Allow-Headers”,标头“内容类型”是不允许的