ecshop改成https后台登录不进去

php教程4年前 (2020-12-31)8160

一般来说,直接使用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;
}


标签: ecshop

“ecshop改成https后台登录不进去” 的相关文章

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。