ブラウザのURLバーに誰かがこのhttp://mysite/users/unknownactionでヒットしたら、エラーが表示されます。CakePHP-2.0:コントローラーのアクション/ミッションの不足を確認するにはどうしたらいいですか?
このエラーをキャッチしてhttp://mysite/にリダイレクトしたいと思います。
私はこれをCakePHP-2.0でどうやって行うことができますか?
ブラウザのURLバーに誰かがこのhttp://mysite/users/unknownactionでヒットしたら、エラーが表示されます。CakePHP-2.0:コントローラーのアクション/ミッションの不足を確認するにはどうしたらいいですか?
このエラーをキャッチしてhttp://mysite/にリダイレクトしたいと思います。
私はこれをCakePHP-2.0でどうやって行うことができますか?
Hugoが示唆しているようにプロダクションモードになっている場合、デフォルトで「404 Not Found」ページが生成されるthrow a NotFoundException
になります。この動作を変更する場合は、handling exceptions in CakePHP 2.0のドキュメントを参照する必要があります。
「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);
}
}
?>
エラーメッセージをリダイレクトする前にセッションフラッシュに保存できます。
エラーが発生しました:エラーが発生しました。エラー:コントローラabcdがコントローラUsersControllerに定義されていません。 エラー:ファイル:app/Controller/UsersController.phpにUsersController :: abcd()を作成します。 – shibly
ケーキのデバッグモードを "0"に変更し、プロダクションモードを使用します。 –
生産モードは役に立ちません。 – shibly