0

感谢 mdskinner,我使用了how-to-setup-a-custom-404-page-for-a-kohana-v3-app的解决方案。所以,我的工作代码是这样的:

Kohana_Exception::$error_view = 'kohana/404';//bootstrap.php

and the view file path is system/views/kohana/404.php

不幸的是,404 页面是静态页面。但是,我想像在任何其他页面上一样动态加载页脚 - 使用控制器和视图。404自定义页面可以吗?

4

2 回答 2

1

在您的index.php中,您在请求执行和回显之间放置了一个 try/catch 块,如下所示

$request = Request::factory();

try
{
  $response = $request->execute();
}
catch (Exception $exc)
{
  if ($exc instanceof HTTP_Exception && $exc->getCode() === 404)
  {
     $response = Request::factory('your404route')->execute()->status(404);  
  } else {
    throw $exc;
  }
}

echo
  $response
  ->send_headers()
  ->body();
于 2012-12-04T19:23:56.470 回答
0

是的,你可以轻松地。请使用 3.2 的官方指南 - http://kohanaframework.org/3.2/guide/kohana/tutorials/error-pages或来自 Lysender 的精彩博客文章 - http://blog.lysender.com/2010/08/kohana-404 -pages/(这实际上是针对 3.1 版本的,但是 3.2 和 3.1 之间的变化并没有那么大)。

于 2012-11-15T11:01:23.987 回答