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 标头的主要内容,如果未能解决你的问题,请参考以下文章
没有使用 Angular + WordPress 的“Access-Control-Allow-Origin”标头
根据 CORS 预检响应中的标头“Access-Control-Allow-Headers”,标头“内容类型”是不允许的