ECSHOP在部署SSL加密后,在浏览器里面使用https打开网页正常,打开后台也正常,但是就是输入账号密码后无法登录,账号密码正确,但是不跳转后台管理中心,仍然是让输入账号密码。
碰到这个问题,折腾了两天,最后终于找到解决方法。
网络上都是说让找到网站这个:includes/cls_ecshop.php 文件,找到第154行左右,找到如下代码:
查找代码:
return (isset($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off')) ? 'https://' : 'http://';
然后替换为:
return isset($_SERVER['HTTPS']) || (strtolower($_SERVER['HTTPS']) != 'off')||(strtolower($_SERVER['HTTP_FROM_HTTPS']) == 'on') ? 'https://' : 'http://';
但是,我修改后,仍然无法登录后台,跟原来一样,不跳转到后台管理中心。
于是继续找方法处理,
发现这个方法比较靠谱,如下:
一般来说,直接使用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);
如下截图:
流泪
13人
打酱油
23人
开心
31人
点赞
44人
差评
1人
额 本文暂时没人评论 来添加一个吧
发表评论