鲶鱼博客配置IIS证书出现跨域(https跨域http)或诸多问题

分类首页日期4年前访问3785评论7

我使用的是宝塔面板,至于配置环境我就不再这里阐述了,都大同小异,我们的重点是如何让我们的鲶鱼博客正确的配置IIS证书,这里我就跳过如果配置的IIS证书过程了,当我们把IIS证书配置好后访问我们的网站发现出现如下问题:

还要很多错误,如点赞功能无法使用,评论功能不能使用都出现报错,字体文件引用错误,或/ensure/Index/detection路径错误,我就不截图了,不配置IIS还好,配置IIS就出现这些问题,为什么会出现这些问题呢,因为鲶鱼博客里的application/index/controller/Common.php下的一公共方法domain方法,我们稍作修改一下就可以了,在代码中加入如下两行代码加可以了:

$http_type = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https://' : 'http://';
$domain = $http_type . $_SERVER['HTTP_HOST'].'/';

其实就是鲶鱼博客在匹配路由的时候没有判断当前域名是否为https,默认全部处理为http,我们加这两行代码加是为了区分当前用户访问的是https还是http,其实还有一些小问题,我这里只是把大问题解决,小问题还是不能解决的小伙伴们可以加我微信:lbkj2017,请备注来处.