如果有人使用此http://mysite/users/unknownaction在浏览器 url 栏中点击,那么我会收到错误消息。
我想捕获该错误并重定向到http://mysite/ 。
我如何在 CakePHP-2.0 中做到这一点。
如果有人使用此http://mysite/users/unknownaction在浏览器 url 栏中点击,那么我会收到错误消息。
我想捕获该错误并重定向到http://mysite/ 。
我如何在 CakePHP-2.0 中做到这一点。
在“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);
}
}
?>
您可以在重定向之前将错误消息保存在会话闪存上。
按照 Hugo 的建议,当您处于生产模式时,缺少的 URL 将抛出一个NotFoundException
默认情况下会生成标准的“404 Not found”页面。如果您希望更改此行为,您将不得不查看CakePHP 2.0 中处理异常的文档。