被CORS政策封锁:没有'Access-Control-Allow-Origin'标头错误

时间:2019-02-15 04:01:36

标签: wordpress url

使用“ www”访问某些页面时出现问题。在网址中。 我有一个在线表格供用户填写,尽管使用www访问时。 URL的前面,错误显示在表单中,某些图标将不会显示,优惠券将无法正常使用。

通过google chrome检查>控制台,此错误已显示: CORS策略已阻止从来源“ https://adventurethon.com.au/wp-content/plugins/WP_Estimation_Form/assets/fonts/fa-solid-900.ttf”访问“ https://www.adventurethon.com.au”处的字体:请求的资源上没有“ Access-Control-Allow-Origin”标头。

正常运行的URL(无www。):https://adventurethon.com.au/east-gippsland-registration/ 正常运行的网址(带有www。):https://www.adventurethon.com.au/east-gippsland-registration/

是否有一种方法可以确保始终将用户重定向到正确的URL,从而不会显示这些错误?否则,当用户尝试注册时,我们将继续出现持续的错误。

我是一名网页设计师,在整个开发过程中还是有些新事物,因此非常容易按照说明进行操作!

我一直与插件支持部门联系,因为我们认为这不是插件问题。我也联系了托管支持,尽管他们不愿意协助解决此问题。

谢谢! 贝克

1 个答案:

答案 0 :(得分:1)

CORS(跨源资源共享)阻止了其他来源使用您的资产。

您网站的wwwnon-www版本是两个不同的来源(域),而www版本试图从non-www版本访问文件,即被服务器禁止。

有几种方法可以继续:

  1. 将所有流量重定向到一个版本; Apache .htaccess example
  2. 调整CORS策略-您可以使用.htaccess或服务器配置文件来执行此操作。这是潜在的安全威胁。
  3. 调整您的网址以引用要访问的域。假设您使用的是带标签的WordPress,则在使用home_url()template_directory_uri()之类的辅助功能时,这可能会有些困难,因为它们始终指向WordPress设置中的网址。如果您有权更改此引用,也可以使用绝对路径引用(/wp-content/themes/freestyle/assets/css/elegant-icons/fonts/ElegantIcons.ttf而不是https://adventurethon.com.au/wp-content/themes/freestyle/assets/css/elegant-icons/fonts/ElegantIcons.ttf

您最好的选择将是第一选择!您真的不应该使用该网站的两个版本,因为它被视为搜索引擎机器人的重复内容,并且WordPress并未真正配置为可在两个域上使用。