ecshop改成https后台登录不进去
一般来说,直接使用nginx的服务器,配置https,ecshop登录后台是不会有问题的,
如果使用IIS的服务器,通过使用nginx代理iis部署多个站点,会造成PHP无法输出$_SERVER['HTTPS'],所以才导致无法登录ecshop后台,这种情况,可以使用一下办法解决:
打开admin后台目录/includes/init.php文件修改,找到如下代码
if (!defined('IN_ECS'))
{
die('Hacking attempt');
}
在下面添加以下代码
$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
--------------2021-01-04补充完善兼容http和https的写法------------------
if(is_https()){
$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
}
//判断是否是https站点 2021-01-04
function is_https() {
if ( !empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') {
return true;
} elseif ( isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' ) {
return true;
} elseif ( !empty($_SERVER['HTTP_FRONT_END_HTTPS']) && strtolower($_SERVER['HTTP_FRONT_END_HTTPS']) !== 'off') {
return true;
}
return false;
}