コントローラーまたはプラグインが見つからない場合。ulr(db) を調べて、cms に関連するページがあるかどうかを確認する特定のコントローラーで終了するようにします。したがって、デフォルトのcakephpルーティングの後、コントローラーエラーが発生することは望ましくありませんが、コントローラーにルーティングしたいと考えています。すべての機能 (プラグイン、管理ルート) をデフォルトの Cake ルートから保持したいと考えています。どうすればこれを達成できますか?
1 に答える
1
編集済み より簡潔な説明をするために回答を変更しました
カスタム例外ハンドラー ファイルを作成し、error404 関数をオーバーライドします。ヘルプについては、このドキュメントを参照してください。
<?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
)
}
}
?>
于 2012-01-04T21:13:22.730 に答える