先来吐槽一下,PbootCMS从某个版本开始,(具体是从哪个版本开始我也记不清了)将错误信息直接跳转到了404。
碰巧那一阵开发API相关接口,一个功能怎么调试都不正常,再后来才发现了这个细节更新。
当时就要炸了,趟坑了。
嗯~ o(* ̄▽ ̄*)o,我换个描述,是不是你的PbootCms网站出现了异常,比如总是跳转404,又不知道哪出问题了?
那么,就请接着往下看。
话不多说,我们直接上操作
首先找到文件:\core\function\helper.php,大约在48行,不同版本行数略又差异。
找到 error 方法,将 http_response_code(404); 这一行代码注释掉,就可以了。
function error($string, $jump_url = null, $time = 2)
{
@ob_clean();
//http_response_code(404);
if (! $string)
$string = '未知错误!';
if ($jump_url == '-1' && isset($_SERVER['HTTP_REFERER'])) {
$jump_url = $_SERVER['HTTP_REFERER'];
if (strpos($jump_url, get_http_url()) !== 0) {
$jump_url = '/';
}
} elseif ($jump_url == '-1') {
$jump_url = null;
}
if (Config::get('return_data_type') == 'json' || is_ajax()) { // 接口模型返回格式数据
Response::json(0, strip_tags($string), $jump_url);
} else {
$err_tpl = CORE_PATH . '/template/error.html';
echo parse_info_tpl($err_tpl, $string, $jump_url, $time);
}
exit();
}
这个功能一定程度上能保护你的程序,让坏人也摸不着头脑。所以建议网站正常运行后,继续启用这个设置。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。