0

コントローラーまたはプラグインが見つからない場合。ulr(db) を調べて、cms に関連するページがあるかどうかを確認する特定のコントローラーで終了するようにします。したがって、デフォルトのcakephpルーティングの後、コントローラーエラーが発生することは望ましくありませんが、コントローラーにルーティングしたいと考えています。すべての機能 (プラグイン、管理ルート) をデフォルトの Cake ルートから保持したいと考えています。どうすればこれを達成できますか?

4

1 に答える 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 に答える