如果程序发生异常,thinkphp默认都是抛出 404 头。
ThinkPHP3.2.3相关代码:
#/ThinkPHP/Library/Think/Think.class.php
/**
* 自定义异常处理
* @access public
* @param mixed $e 异常对象
*/
static public function appException($e) {
$error = array();
$error['message'] = $e->getMessage();
$trace = $e->getTrace();
if('E'==$trace[0]['function']) {
$error['file'] = $trace[0]['file'];
$error['line'] = $trace[0]['line'];
}else{
$error['file'] = $e->getFile();
$error['line'] = $e->getLine();
}
$error['trace'] = $e->getTraceAsString();
Log::record($error['message'],Log::ERR);
// 发送404信息
header('HTTP/1.1 404 Not Found');
header('Status:404 Not Found');
self::halt($error);
}
404表示的是未找到,发生异常却抛出404 HTT 头,其实是错

当ThinkPHP 3.2.x框架程序发生异常时,原本会返回404状态码。然而,为了更准确地反映服务器状态,应当将其更改为503。要实现这一修改,需要更新异常处理部分的HTTP头设置,将404替换为503服务不可用状态。
最低0.47元/天 解锁文章
1079

被折叠的 条评论
为什么被折叠?



