PbootCMS使用CDN或者https时后台功能异常跳转首页的解决办法

wdzsjl 4小时前 阅读数 1 #织梦DedeCms

在使用 HTTPS 或 CDN 时,PbootCMS 的后台功能可能会因为环境差异而出现异常,特别是在开启关闭按钮、删除、以及保存排序等功能操作后会直接重定向到首页。这是由于 PbootCMS 在判断是否为 HTTPS 时存在问题。以下是详细的解决方案:

问题描述

在 HTTPS 或 CDN 环境下,PbootCMS 的后台功能可能出现异常,主要表现为:

  • 开启关闭按钮操作后重定向到首页
  • 删除操作后重定向到首页
  • 保存排序操作后重定向到首页

原因分析

造成该问题的主要原因是 PbootCMS 在判断是否为 HTTPS 时的逻辑不完善,导致在某些主机环境下无法正确识别 HTTPS 请求。

解决方案

  1. 备份文件

    • 在进行任何修改之前,建议先备份 handle.php 文件,以防修改出错后可以快速恢复。
  2. 定位文件

    • 找到 handle.php 文件,路径通常为 网站目录/core/function/handle.php
  3. 修改代码

    • 打开 handle.php 文件,找到第 619 行左右的 is_https 函数。
    • 将原来的代码替换为以下代码:
// 判断当前是否为https function is_https() {     $isSsl = false;     if (getenv('HTTPS') && ('1' == getenv('HTTPS') || 'on' == strtolower(getenv('HTTPS')))) {         $isSsl = true;     } elseif ('https' == getenv('REQUEST_SCHEME')) {         $isSsl = true;     } elseif ('443' == getenv('SERVER_PORT')) {         $isSsl = true;     } elseif ('https' == getenv('HTTP_X_FORWARDED_PROTO')) {         $isSsl = true;     } elseif ('https' == getenv('HTTP_X_CLIENT_SCHEME')) {         $isSsl = true;     }     return $isSsl; }

具体操作步骤

1. 备份文件

  1. 使用 FTP 客户端
    • 使用 FTP 客户端(如 FileZilla)连接到你的服务器。
    • 导航到 网站目录/core/function 目录。
    • 下载 handle.php 文件到本地,以便备份。
wx.jpg ywfw.jpg
热门