我的网站

帝国CMS7.5启用https后登录后台页面空白的解决方法[图文教程]

罗哥 帝国教程 2021-05-08 15:56:04 29 0

网站使用帝国CMS7.5系统管理的,启用https以后后台不要再设置强制https了,还是保持自动为好,如果设置了很容易导致无法登录后台,并且空白。

方法一

如果已经设置了只能通过修改配置文件来取消掉,具体操作方法如下:

在网站目录里面依次进入,找到修改e/config/config.php文件,搜索httptype将后面的数字值修改回默认的0,这样就可以进后台了。

进入后台把https设置为默认的自动保持不变就可以了。如下图所示:

方法二

第一步,检查你的帝国cms版本是哪个?不同的版本解决这一问题的方法和思路是不同的;帝国cms版本怎么看?请检查你网站中的EmpireCMS_version.php文件,位置在:网站根目录/e/class/EmpireCMS_version.php,打开该文件一般显示如下:

<?php

define(‘EmpireCMS_VERSION’,’7.5′);

define(‘EmpireCMS_CHARVER’,’UTF-8′);

define(‘EmpireCMS_LASTTIME’,’201504301830′);

define(‘EmpireCMS_UPDATE’,’1′);

?>

那么就是7.5版本,显示7.2时就是7.2版;

第二步:通过以上步骤,我们知道了你所使用帝国cms的程序版本,接下来我们就针对不同版本使用https头的设置方法做一说明:

首先:针对帝国cms7.2版本程序启用https头的设置方法:

步骤一:找到/e/class/connect.php文件中如下代码:

function eReturnDomain(){

$domain=RepPostStr($_SERVER['HTTP_HOST'],1);

if(empty($domain))

{

return

'';

}

return 'http://'.$domain;    

}

替换成:

function eReturnDomain(){

$domain=RepPostStr($_SERVER['HTTP_HOST'],1); 

if(empty($domain)) 

return ''; 

return ($_SERVER['HTTPS'] ? 'https':'http').'://'.$domain; 

}

步骤二:

找到

function FWeReturnDomain(){ 

$domain=RepPostStr($_SERVER['HTTP_HOST'],1); 

if(empty($domain)) 

return ''; 

return 'http://'.$domain; 

}

替换为:

function FWeReturnDomain(){ 

$domain=RepPostStr($_SERVER['HTTP_HOST'],1); 

if(empty($domain)) 

return ''; 

return ($_SERVER['HTTPS'] ? 'https':'http').'://'.$domain; 

}

经过以上2步替换后,保存文件并上传覆盖掉已有的connect.php文件,你会发现你网站已经可以正常使用https开头了,网站前后台都可以正常运行;

其次,针对帝国cms7.5版本程序启用https头的设置方法:

帝国cms7.5版官方已提供了http和https自动识别,但是因为一些疑难杂症的原因,自动识别判断的不准,后台登录也是空白,

这时我们可以打开e/config.php查找'httptype'=>0改为'httptype'=>2即可,不同参数值设置代表的含义如下: 

'httptype'=>0,  代表自动

'httptype'=>1,代表全站http

'httptype'=>2,代表全站https

'httptype'=>3,代表后台https,前台http

'httptype'=>,代表后台http,前台https

通过以上步骤的操作,相信你的网站已经可以正常使用https开头了。

更多评论
尛懶人 2021-05-08 18:36:27
其他评论
原来问题在这里啊
追魂剑 2021-05-08 21:16:50
其他评论
这个问题我找了3天的答案,总算找到了答案,谢谢大佬。
老油条 2021-05-08 23:57:13
其他评论
这个方法真的有效码,各位大佬!