Php 如何设置HTTP_异常_404
我使用的是kohana 3.2,当页面不存在时,kohana错误模块工作正常。 但是我有这样的情况:页面存在,但是没有数据,因为数据不存在。我正在使用route参数检查de数据库 所以我就这样做了,Php 如何设置HTTP_异常_404,php,kohana,kohana-3.2,Php,Kohana,Kohana 3.2,我使用的是kohana 3.2,当页面不存在时,kohana错误模块工作正常。 但是我有这样的情况:页面存在,但是没有数据,因为数据不存在。我正在使用route参数检查de数据库 所以我就这样做了, if($response ) { return $response; } else { throw new HTTP_Exception_404('Page Not Found'); } 如果有数据返回,如果没有,创建一个“未找到页面”,我相信
if($response )
{
return $response;
} else {
throw new HTTP_Exception_404('Page Not Found');
}
如果有数据返回,如果没有,创建一个“未找到页面”,我相信它将被kohana错误模块捕获,但它不是。。。。
可能吗?这是正确的方法吗 在
index.php
中,您可以执行以下操作:
$request=request::factory();
尝试
{
$response=$request->execute();
如果(!$response->body())
{
抛出新的HTTP_异常_404();
}
}
捕获(例外$exc)
{
if($exc instanceof HTTP_Exception_404)
{
$response=Request::factory('your/404error/controller')->execute();
}
其他的
{
//重播例外
抛出$exc;
}
}
回声
$response
->发送头()
->身体();
这样,您可以为每个HTTP异常执行一个控制器,也可以为所有异常(50x和40x错误)使用一个catch all 404页面。Hmm。。也许您必须将
Kohana::$environment
设置为Production?