thinkphp的404页面使用
2018-05-31
后端
关于 空控制器 与 404
配置文件 config.php
代码
<?php
returnarray(
// 使用 'ERROR_PAGE' 的配置不能返回 404
状态码
'TMPL_EXCEPTION_FILE' => SPSTATIC.'404.html',
//'ERROR_PAGE' =>
__ROOT__.'/statics/404.html',
);
空控制器
EmptyController.class.php 代码
class EmptyController extends Controller
{
function
_empty(){
//
这样写就够了
header("HTTP/1.1 404 Not
Found");
$this ->
display(); //会自动调用配置里的 404
页面设置
}
function index()
{
//
这样写就够了
header("HTTP/1.1 404 Not
Found");
$this ->
display(); //会自动调用配置里的 404
页面设置
}
}
注意啦:
以上对于 控制器和方法
为空时都是有效的,但对于通过 链接输入一些不存在的 id 值或 页码 p
值时,会显示一个没有数据填充的空页面。这就需要自己在输出数据的控制器方法里再设置了。
比如
class ArticleController extends Controller
{
function index()
{
$id = I('get.id', 0, 'intval');
$Article = M('Article');
$showart = $Article ->
find($id);
//判断,如果通过链接手工输入的 id ,在数据库中不存在 而取得的数据为
空时
if($showart){
//
有数据时,输出到模板
$this ->
display();
}else{
// 手工输入 id
取得空数据,输出404,这样写就够了
header("HTTP/1.1 404 Not
Found");
$this ->
display(); //会自动调用配置里的 404
页面设置
}
}
}