我的Chrome控制台中出现了以下错误,我正在处理一个Wordpress网站。
无法设置引荐来源政策: 价值' http://example.com/comic/'不是'总是','默认', '永远',' no-referrer',' no-referrer-when-downgrade',' origin', ' origin-when-crossorigin'或' unsafe-url'。推荐人政策有 保持不变。
它在HTML文档的<head>
中引用此行...
<meta name="Referrer" content="http://example.com/comic/" />
我在http
而不是https
上浏览了该页面。
导致此问题的原因是什么?如何解决?
答案 0 :(得分:19)
进入您的.htaccess文件并更改以下内容:
Header set Referrer-Policy ""
到
Header set Referrer-Policy "origin"
这应该可以解决问题。
原因很可能是因为您对.htaccess文件没有正确的权限,该文件不允许w3tc进行所需的更改。
答案 1 :(得分:6)
以下是specs:
的定义引用者策略修改用于在获取子资源,预取或执行导航时填充Referer头的算法。 每个环境设置对象都有一个用于获取引用者策略的算法,默认情况下,该策略用于将该环境设置对象作为其请求客户端的所有请求。
因此,推介政策处理浏览器发送到服务器以检索外部资源的信息(与网址相关)。
规范中列出的content
属性选项为:
no-referrer
指定不会将任何引荐来源信息与从特定请求客户端发出的请求一起发送到任何来源。标题将被完全省略。
no-referrer-when-downgrade
不会将Referrer标头发送到非priori authenticated url(如果https网址链接到http网址没有发送标头)
same-origin
策略指定在从特定请求客户端发出同源请求时,将作为引用者剥离的完整URL作为引用者信息发送。而跨域请求不包含引用者信息。
origin
将完整网址剥离的方案,主机和端口(基本上是子域名)作为引荐来源发送,即https://moz.com/example.html只会为所有人发送https://moz.com
origin-when-cross-origin
将origin
中描述的格式发送到跨域,而将完整的剥离网址发送到相同的原始请求。
unsafe-url
策略指定剥离用作引荐来源的完整URL以及来自特定请求客户端的跨源请求和同源请求。
这是不安全的,因为它会泄漏从受TLS保护的资源到不安全来源的起源和路径。
空字符串“”对应于没有引荐来源政策,导致回退到其他地方定义的引荐来源政策,或者在没有此类更高级别政策可用的情况下,默认为no-referrer-when-downgrade
。< / p>
always
的行为与unsafe-url
相似。
答案 2 :(得分:5)
您可以在.htaccess文件中手动查找和更改如下内容:
<IfModule mod_headers.c>
Header set Referrer-Policy ""
</IfModule>
到
<IfModule mod_headers.c>
Header set Referrer-Policy "origin"
</IfModule>
答案 3 :(得分:4)
Chrome浏览控制台向我显示了安装了W3 Total Cache的Wordpress网站相同的错误。 “无法设置引荐来源网址政策:值”不是“ no-referrer”,“ no-referrer- when-downgrade','origin','origin-when-cross-origin'“
,并且我尝试按照上述答案中的说明更新.htaccess文件。此操作修复了Chrome Inspection Console的错误,但稍后又返回了。
检查W3总缓存性能的仪表板->浏览器缓存->引用者策略->指令,该条目显示为空白。
答案 4 :(得分:0)
就我而言,API URL中缺少www.
,而表单页面上存在www.
。只要确保您的页面上也有API URL www.
。