CakePHP-2.0:如何检查控制器的缺失操作/任务视图?

时间:2011-10-21 03:31:28

标签: php cakephp cakephp-2.0

如果某人使用此http://mysite/users/unknownaction点击浏览器网址栏,则会收到错误。

我想抓住该错误并重定向到http://mysite/

我如何在CakePHP-2.0中执行此操作。

2 个答案:

答案 0 :(得分: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);
    }
  }

?>

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

答案 1 :(得分:2)

当您处于Hugo建议的生产模式时,缺少的URL将throw a NotFoundException,默认情况下会生成标准的“404 Not Found”页面。如果您希望更改此行为,则必须查看handling exceptions in CakePHP 2.0的文档。