帝国cms网站使用https网站头时,经常会发现一个问题,那就是网站在不加https之前,是完全可以正常访问的,但加了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开头了。