我使用Zend FW 1.9.2,想要禁用默認路由並提供我自己的。我真的不喜歡默認的/:controller /:action routing。Zend框架:刪除默認路由
這個想法是在init中注入路由,並且當請求不能被路由到一個注入路由時,它應該被轉發到錯誤控制器。 (通過使用默認註冊Zend_Controller_Plugin_ErrorHandler)
這一切工作正常,,直到我禁用默認路由$ router-> removeDefaultRoutes(); 當我這樣做時,錯誤控制器不再將未路由的請求路由到錯誤控制器。相反,它將所有未路由的請求路由到默認控制器上的indexAction。
任何人都有任何想法如何禁用默認/:控制器/:行動路由但保持路由錯誤處理?
基本上,這是我做的:
$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);
謝謝,這是有道理的,我會測試它。 – Maurice