如果某人使用此http://mysite/users/unknownaction点击浏览器网址栏,则会收到错误。
我想抓住该错误并重定向到http://mysite/。
我如何在CakePHP-2.0中执行此操作。
答案 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的文档。