【问题标题】:cakePHP 2.0 routes when controller not existing控制器不存在时 cakePHP 2.0 路由
【发布时间】:2012-01-04 17:28:50
【问题描述】:

当找不到控制器或插件时。我希望它最终在一个特定的控制器上检查 ulr(db),并检查我的 cms 中是否有与之相关的页面。 所以,在默认的 cakephp 路由之后,我不想丢失 控制器错误,但我想路由到控制器。 我想保留默认蛋糕路由的所有功能(插件、管理路由)。 我怎样才能做到这一点?

【问题讨论】:

    标签: routes cakephp-2.0 custom-routes


    【解决方案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
            )
        }
    }
    ?>
    

    【讨论】:

    • 谢谢,但我怎样才能让它工作呢?我将所有文件放在正确的目录中
    • 更新了答案,看看它是否对你有帮助。
    • 抱歉,我仍然无法让它工作。它似乎没有到达 AppExceptionHandler.php,当我在这个文件中放入无效代码时没有错误。我把所有东西都放在了正确的地方
    • 直接来自 cakephp 文档。如果它不起作用,那么你做错了什么。但是,如果没有看到您的代码,任何人都无法帮助解决问题。
    猜你喜欢
    • 2014-02-06
    • 2014-12-15
    • 2011-12-19
    • 2011-11-24
    • 1970-01-01
    • 2011-05-08
    • 1970-01-01
    • 1970-01-01
    • 2012-12-27
    相关资源
    最近更新 更多