百度站长工具链接提交自动提交 Cross-Origin Read Blocking (CORB) blocked cross-origin response
微wx笑 2019-07-23【云服务】 17 0关键字: 跨域
百度搜索资源平台》站点管理中,提供了站长进行链接提交的工具,其中一个功能是自动提交。自动提交又分为:主动推送(实时)、自动推送、sitemap。自动推送是百度搜索资源平台为提
百度搜索资源平台》站点管理中,提供了站长进行链接提交的工具,其中一个功能是自动提交。自动提交又分为:主动推送(实时)、自动推送、sitemap。
自动推送是百度搜索资源平台为提高站点新增网页发现速度推出的工具,安装自动推送JS代码的网页,在页面被访问时,页面URL将立即被推送给百度。查看详情>>
自动推送工具代码
请将以下代码安装在网站页面中,安装完成后即可实现链接自动推送功能。查看安装方法>>
<script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script>
自动推送JS代码是百度站长平台最新推出的轻量级链接提交组件,站长只需将自动推送的JS代码放置在站点每一个页面源代码中,当页面被访问时,页面链接会自动推送给百度,有利于新页面更快被百度发现。
为了更快速的发现站点每天产生的最新内容,百度站长平台推出主动推送工具,产品上线后,部分站长反馈使用主动推送方式的技术门槛较高,于是我们顺势推出更低成本的JS自动推送工具。一步安装便可实现页面自动推送,低成本,高收益。
我将上面的JS脚本代码加入到网站的尾部内容模板,这样就可以一次性加入所有的页面。
但访问页面的时候,浏览器控制台却提示:
Cross-Origin Read Blocking (CORB) blocked cross-origin response https://www.baidu.com/search/error.html with MIME type text/html. See https://www.chromestatus.com/feature/5629709824032768 for more details.
明显是出现了跨域的问题。
通过搜索看了很多关于 Cross-Origin Read Blocking (CORB) blocked cross-origin response 问题的解决方法,
其实解决的方法都是要在服务端做工作。
A、真正提供服务的服务端做修改,添加 Access-Control-Allow-Origin 头。
第一种方法:被请求页面加上下面的代码,最好content填写域名;
<meta http-equiv="Access-Control-Allow-Origin" content="*">
第二种方法:在请求控制器加上加上下面的代码;
header("Access-Control-Allow-Origin: *");
第三种方法:IIS、Apache、Nginx可以直接配置Access-Control-Allow-Origin 跨域,具体如下:
1、IIS配置:只需要在IIS添加HTTP响应标头即可!
Access-Control-Allow-Headers:Content-Type, api_key, Authorization Access-Control-Allow-Origin:*
2、Apache配置:主要修改http.conf
<Directory "/Users/cindy/dev"> AllowOverride ALL Header set Access-Control-Allow-Origin * </Directory>
或者,修改Apache伪静态规则文件.htaccess
<IfModule mod_setenvif.c> <IfModule mod_headers.c> <FilesMatch "\.(cur|gif|ico|jpe?g|png|svgz?|webp)$"> SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=IS_CORS </FilesMatch> </IfModule> </IfModule>
3、Nginx配置:主要是修改nginx.conf;
location ~* \.(eot|ttf|woff|svg|otf)$ { add_header Access-Control-Allow-Origin *; }
上面的eot|ttf|woff|svg|otf,表示请求后缀类型,或者也可以直接写如下代码:
location / { add_header Access-Control-Allow-Origin *; }
B、编写/使用代理
不管你使用哪一种语言,Java、PHP、ASP 还是什么其它的,实现一个WebAPI来供自己调用,这样就解决了跨域的问题。
具体的实现其实就是通过服务端语言,模拟一个HTTP请求。如:PHP发送HTTP请求的6种方法
但百度的这个问题有点复杂,还没有分析 push.js 的具体内容,向百度提交了反馈,看看怎么回复再说。
本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/blog/cld-services/2019-07-23/53.html