http的网站改造为https后,原来百度站内搜索不支持https解决方法。
原来http的网站使用百度站内搜索(https://zn.baidu.com),安装SSL安全证书后将http改为https后,百度站内搜索失效了。根本原因为站内搜索代码不再不支持HTTPs了。
比如原来HTML8网站为https://www.html8.com.cn,在网站顶部搜索,升级为https://www.html8.com.cn,输入关键字点击搜索,不能转到搜索http://s.HTML8.com,而是又打开https://www.html8.com.cn,经过多次试验,改动最小实现了https网站的百度站内搜索功能。
特点:解决方法很简单。
直接看原来的代码:
<form action="">
<input type="text" id="bdcsMain" value="搜索CSS疑问" onFocus="if (value =='搜索CSS疑问'){value =''}" onBlur="if (value ==''){value='搜索CSS疑问'}">
<input type="submit" value="搜索" class="input-bottom" >
</form>
<script type="text/javascript">(function(){ document.write(unescape('%3Cdiv id="bdcs"%3E%3C/div%3E')); var bdcs = document.createElement('script');bdcs.type = 'text/javascript'; bdcs.async = true;bdcs.src = 'http://znsv.baidu.com/customer_search/api/js?sid=12646226687798686566' + '&plate_url=' + encodeURIComponent(window.location.href) + '&t=' + Math.ceil(new Date()/3600000); var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(bdcs, s);})();</script>
以上的HTML表单代码是自己的,只是根据百度站内要求对输入框添加 id="bdcsMain",其它表单代码根据需求设置布局;
JS代码为百度站内提供原代码,没有改变过(每个百度站内账号不同,sid是不同,需要注意,HTML8的JS与您的是不同的,需要从百度站内搜索后台获取)。
修改方法:
1、对搜索按钮表单添加代码:
onClick="window.open('http://s.HTML8.com/cse/search?s=12646226687798686566&entry=1&q='+document.getElementById('bdcsMain').value)"
因为搜索结果页我在百度站内搜索后台设置自己二级域名“s.HTML8.com”,所以需要修改为您的二级域名(如果没有设置,就用百度提供搜索结果页HTTP地址)。需要注意search?s=12646226687798686566这串数字(登录百度站内搜索后获取自己的),修改为您百度提供JS的相同。
获取站内搜索的各自唯一的数字号
2、将JS代码去掉http
去掉百度站内搜索代码提供JS代码中“http:”。
3、这样即可完成改造,实现HTTPS网站轻松使用百度站内搜索功能。
操作完美改造总结:
1、按钮表单加入一段代码(注意数字串号使用您的)。
2、去掉百度站内搜索JS代码中http:,(http://znsv.baidu.com变成//znsv.baidu.com)。