2012-01-04 76 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