CakePHP 2.0 маршрутизирует, когда контроллер не существует - PullRequest
0 голосов
/ 04 января 2012

Когда контроллер или плагин не найден. Я хочу, чтобы он оказался на определенном контроллере, который проверяет ulr (db) и проверяет, есть ли страница, связанная с ним, в моей cms. Итак, после стандартной маршрутизации CakePHP я не хочу пропустить ошибка контроллера, но я хочу направить на контроллер. Я хочу сохранить все функциональные возможности (плагин, маршрут администратора) из маршрута по умолчанию торт. Как мне это сделать?

1 Ответ

1 голос
/ 05 января 2012

Отредактировано Я изменил свой ответ, чтобы дать более краткое объяснение

Создайте файл обработчика пользовательских исключений и переопределите функцию 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
        )
    }
}
?>
...