一、https趋势说明
由于现在全球开启https的网站越来越多,而且开启https成本也在慢慢降低,所以网站为了适应趋势,需要做https全站替换。
二、功能作用
开启全站https可以更好的提升网站在谷歌中权重,由于https传输是加密的,所以也能更好的保护用户隐私信息以及提升网站的安全性。
三、开发流程以及注意事项
(1)开发流程:
1,file_get_contents函数要绕过ssl认证, 此方法改为file_get_contents($url, false, stream_context_create(array('ssl' => array('verify_peer' => false, 'verify_peer_name' => false)))),更新首页是需要注意替换成上面的方法,不然首页会生成空白。
2,网站页面底部文章页的判断改为https时,上线预发布先不要刷数据,不然会影响网站正式机链接,需要上线后才能刷。
3,需要替换数据库的老链接或者是老域名(服装站有些数据库里面会包含其他站的域名,需要替换成本站相应的主域名,但是需要测试替换之后能否正常显示。)
4,网站分类导航的数据上线之后,才能在网站后台编辑分类。
5,需要替换同步和修改商品接口的字段信息。
列如:
$_POST['goods_desc'] = str_replace('http://css.xxxx.com', 'https://css.xxxx.com', $_POST['goods_desc']);
$_POST['goods_desc'] = str_replace('http://des.xxxx.com', 'https://des.xxxx.com', $_POST['goods_desc']);
$_POST['goods_desc'] = str_replace('http://pdm.gw-ec.com', 'https://pdm.gw-ec.com', $_POST['goods_desc']);
$_POST['goods_desc'] = str_replace('http://des.yyyy.net', 'https://des.xxxx.com', $_POST['goods_desc']);
6,去掉有域名判断跳转,修改目录lib\front_global.php
7,在修改目录lib\front_global.php时,网站定义的常量最好用IS_HTTPS来判断是否是https链接,可以用如下方法做判断:
define('IS_HTTPS', (isset($_SERVER['HTTP_X_FORWARDED_PORT']) && $_SERVER['HTTP_X_FORWARDED_PORT'] == 443) || (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443));
8,网站sitemap需要在预发布手动执行下,而且要按照顺序(尤其是imge图片生成)执行,上线之后也需要再刷一次。
9,上线之前需要运维过滤不用强制跳转的几个目录,pc后台几个目录 屏蔽目录 eload_admin syn ApiErp api,如果屏蔽的目录没有包含定时任务的路径,需要在定时任务里面修改自检地址,更换成带https链接,否则不需要替换。
例如:https在做强制跳转时,M版要做全站https强制跳转并且不需要屏蔽目录,这时需要把M版的定时任务链接更换成带https,否则会报监控自检信息问题。
10,网站上线全站https后提醒运营,添加链接都需要更换成https的链接。
(2)注意事项:
1,在替换全站https时,需要注意更换第三方http链接时,需要先测试带https链接是否能访问正常,避免某些第三方不支持的问题。如图:
不支持https:
2,在替换本站的主域名或者子域名时也是需要测试下,是否支持https,如若不支持请不要替换成https,否则网站的页面会有一系列问题。
四,上线流程
1,先刷需要执行的sql语句
2,更新网站js和css版本号信息
3,编辑网站后台分类,更新网站首页缓存信息。
4,重新生成网站首页
五,https相关的sql语句需更换
六,XXX网站的PC+M版https相关域名
七,seo需要替换成https的相关信息
八,遇到过的坑,需要注意。
(1),在做sitemap时,需要注意下面的url链接不能更换成带https链接,否则生成出来sitemap文件出现报错打不开的问题(在做某某网站是遇到过此问题)。