2012-01-04 37 views
0

未找到控制器或插件时。我希望它结束​​于检查ulr(db)的特定控制器,并检查在我的cms中是否有与其相关的页面。 所以,在默认的cakephp路由后,我不想丢失 控制器错误,但我想要路由到控制器。 我想保留所有的功能(插件,管理路线)从默认的蛋糕路线。 我该如何做到这一点?当控制器不存在时cakePHP 2.0路由

回答

1

编辑 我已经改变了我的回答给一个更简洁的解释

创建一个自定义异常处理程序文件并覆盖error404功能。参考this documentation寻求帮助。

<?php 
// in app/Config/core.php 
Configure::write('Exception.handler', 'AppExceptionHandler::handle'); 

// in app/Config/bootstrap.php 
App::uses('AppExceptionHandler', 'Lib'); 

// in app/Lib/AppExceptionHandler.php 
class AppExceptionHandler extends ExceptionRenderer { 
    public function error400($error) { 
     $this->controller->redirect(
      //insert redirect code 
      //it works like any controller redirect, so you should be familiar with the syntax 
     ) 
    } 
} 
?> 
+0

谢谢,但我怎么能得到这个工作?我将所有文件放在正确的目录中 – waterschaats 2012-01-05 19:58:21

+0

已更新的答案,以查看它是否对您有所帮助。 – 2012-01-05 20:26:51

+0

对不起,但我仍然无法得到这个工作。它似乎没有达到AppExceptionHandler.php,当我把无效的代码放在这个文件中没有错误。我把所有东西放在正确的地方 – waterschaats 2012-01-06 07:56:10