Я использую Zend FW 1.9.2, хочу отключить маршруты по умолчанию и указать свои. Я действительно не люблю стандартную /: controller /: маршрутизацию действий.
Идея состоит в том, чтобы внедрить маршруты в init, и когда запрос не может быть перенаправлен на один из введенных маршрутов, он должен быть перенаправлен в контроллер ошибок. (используя регистр Zend_Controller_Plugin_ErrorHandler по умолчанию)
Это все работает нормально, до Я отключаю маршруты по умолчанию с помощью $ router-> removeDefaultRoutes ();
Когда я это делаю, контроллер ошибок больше не направляет неотправленные запросы к контроллеру ошибок. Вместо этого он перенаправляет все непереведенные запросы в indexAction на контроллере по умолчанию.
Кто-нибудь знает, как отключить маршрутизацию по умолчанию /: controller /: action, но ПРОДОЛЖИТЬ обработку ошибок маршрута?
По сути, это то, что я делаю:
$frontController = Zend_Controller_Front::getInstance();
$router = $frontController->getRouter();
$router->removeDefaultRoutes(); // <-- when commented, errorhandling works as expected
$route = new Zend_Controller_Router_Route_Static(
'',
array('controller' => 'content', 'action' => 'home')
);
$router->addRoute('home', $route);