thinkphp 怎么设置404

2025-05-08 23:37:30
推荐回答(3个)
回答1:

首先应该尝试在服务器添加,其实没这个必要,thinkphp自身便提供了404页面的处理机制,我们只需要在lib下定义一个EmptyAction.class.php,且实现以下方法即可,如下:

class EmptyAction extends Action {
function _empty(){
header("HTTP/1.0 404 Not Found");
$this->display('Public:404');
}
// 404
function index() {
header("HTTP/1.0 404 Not Found");
$this->display('Public:404');
}
}
?>

以上通过直接定义空模块和空操作实现404跳转,但要注意的是:
设置header头很重要, 不然的话返回的状态会是200.
该类对应Public模板目录下需要有名为404的页面模板.

回答2:

首先应该尝试在服务器添加,其实没这个必要,thinkphp自身便提供了404页面的处理机制,只需要在lib下定义一个EmptyAction.class.php,且实现以下方法即可,如下:

class EmptyAction extends Action {
function _empty(){
header("HTTP/1.0 404 Not Found");
$this->display('Public:404');
}
// 404
function index() {
header("HTTP/1.0 404 Not Found");
$this->display('Public:404');
}
}
?>

以上通过直接定义空模块和空操作实现404跳转,但要注意的是:
设置header头很重要, 不然的话返回的状态会是200.
该类对应Public模板目录下需要有名为404的页面模板.

回答3:

重写"_empty()"方法