0

如果有人使用此http://mysite/users/unknownact​​ion在浏览器 url 栏中点击,那么我会收到错误消息。

我想捕获该错误并重定向到http://mysite/

我如何在 CakePHP-2.0 中做到这一点。

4

2 回答 2

2

在“app”文件夹中创建一个文件“app_error.php”。

<?php 

  class AppError extends ErrorHandler {
    function error404($params, $messages) {
      $this->Session->flash($messages);
      $this->controller->redirect(array('controller'=>'welcome', 'action'=>'index'));
      parent::error404($params);
    }
  }

?>

您可以在重定向之前将错误消息保存在会话闪存上。

于 2011-10-21T03:46:26.657 回答
2

按照 Hugo 的建议,当您处于生产模式时,缺少的 URL 将抛出一个NotFoundException默认情况下会生成标准的“404 Not found”页面。如果您希望更改此行为,您将不得不查看CakePHP 2.0 中处理异常的文档。

于 2011-10-21T10:23:17.473 回答