CI框架:花生壳将本地http服务映射成https,根据$_SERVER无法判断出浏览器访问地址的协议导致redirect跳转地址不正确

配置类的base_url是这么得到的:

$baseUrl = str_replace('\\', '/', dirname($_SERVER['SCRIPT_NAME']));
$baseUrl = trim($baseUrl, '/');
$baseUrl .= '/';
$proto = is_https() ? 'https://' : 'http://';
$config['base_url'] = $proto.$_SERVER['HTTP_HOST'].'/'.$baseUrl;

如访问https://[花生壳端口映射域名]/[项目名]/
is_https()方法会返回false,导致上面base_url值变成http://[花生壳端口映射域名]/[项目名]/

请问各位有遇到这种情况么?有什么思路可以解决吗?

讨论数量: 4

你看看 $_SERVER是不是有个 X-Forwarded-Proto 啥的。把$_SERVER打出来

1年前 评论
Zhaojh (楼主) 1年前
cevin (作者) 1年前
Zhaojh (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!