これを行う 1 つの方法は、リクエストが別の方法でディスパッチ可能かどうかをテストする単純なコントローラー プラグインを作成し、そうでない場合はページ コントローラー/アクションに送信することです。
<?PHP
class PageRouter extends Zend_Controller_Plugin_Abstract {
public function preDispatch(Zend_Controller_Request_Abstract $req) {
$dispatcher = Zend_Controller_Front::getInstance()->getDispatcher();
if (!$dispatcher->isDispatchable($req, $req)) {
$req->setModuleName('default');
$req->setControllerName('page');
$req->setActionName('page');
}
}
}
そして、必ずフロントコントローラーに登録してください:
Bootstrap.php :
protected function _initFrontControllerPlugins() {
$this->bootstrap('FrontController');
$fc = $this->getResource('FrontController');
$pluginPageRouter = new PageRouter();
$fc->registerPlugin($pluginPageRouter);
}