加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 有人可以建议另一种方式来请求服务器[‘HTTPS’]

发布时间:2020-12-13 22:46:38 所属栏目:PHP教程 来源:网络整理
导读:我在我的网站上安装了OpenCarton,一切顺利,直到我尝试为安全区域正确设置SSL. 我目前正在通过强制https打开整个站点来使网站工作,但是当它以“正确”方式设置时无法使安全页面正常工作. 我不是php的专家,所以我希望你会把它视为一个几乎白痴!我正在学习,因
我在我的网站上安装了OpenCarton,一切顺利,直到我尝试为安全区域正确设置SSL.

我目前正在通过强制https打开整个站点来使网站工作,但是当它以“正确”方式设置时无法使安全页面正常工作.

我不是php的专家,所以我希望你会把它视为一个几乎白痴!我正在学习,因为我一直在学习.

我通过OpenCart论坛研究了一个没有成功的解决方案.

问题是“不安全的内容”显然发生,因为在访问时,基础href仍然是http而不是https,例如,结帐.

我已经发现可能的原因是我的网站主机不支持变量服务器[‘HTTPS’],他们建议问OpenCart,但是在将近一周后我没有得到任何有用的答案!

/controller/common/header.php中的以下行是问题所在.

if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
        $this->data['base'] = $this->config->get('config_ssl');
    } else {
        $this->data['base'] = $this->config->get('config_url');
    }

再一次在文件中:

if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
        $server = HTTPS_IMAGE;
    } else {
        $server = HTTP_IMAGE;
    }

所以我需要的是另一种替代这些线的方法.

我在这里的另一篇文章中找到了一些建议的替代方案,看起来像是一个类似的问题,但我不知道如何实现它们.

如果有人有耐心,一步一步的编辑会很有帮助.

如果需要,我可以提供更多信息,但不想太快.

谢谢

知更鸟

解决方法

if (isset($this->request->server('SERVER_PORT')) && (($this->request->server('SERVER_PORT') == '443'))) {
    $this->data['base'] = $this->config->get('config_ssl');
} else {
    $this->data['base'] = $this->config->get('config_url');
}

并为您的其他代码片段执行相同的操作.您基本上检查服务器正在运行的端口. HTTP将在端口80上提供,HTTPS将在端口443上提供.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读