【发布时间】:2012-01-04 17:28:50
【问题描述】:
当找不到控制器或插件时。我希望它最终在一个特定的控制器上检查 ulr(db),并检查我的 cms 中是否有与之相关的页面。 所以,在默认的 cakephp 路由之后,我不想丢失 控制器错误,但我想路由到控制器。 我想保留默认蛋糕路由的所有功能(插件、管理路由)。 我怎样才能做到这一点?
【问题讨论】:
标签: routes cakephp-2.0 custom-routes
当找不到控制器或插件时。我希望它最终在一个特定的控制器上检查 ulr(db),并检查我的 cms 中是否有与之相关的页面。 所以,在默认的 cakephp 路由之后,我不想丢失 控制器错误,但我想路由到控制器。 我想保留默认蛋糕路由的所有功能(插件、管理路由)。 我怎样才能做到这一点?
【问题讨论】:
标签: routes cakephp-2.0 custom-routes
已编辑 我已经更改了答案以给出更简洁的解释
创建自定义异常处理程序文件并覆盖 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
)
}
}
?>
【讨论】: