如何在Zend中启用对ErrorController的直接访问

时间:2010-08-31 09:31:56

标签: php zend-framework error-handling

我在我的应用程序中使用ErrorHandler拦截异常,但我也希望能够使用URL将用户重定向到错误屏幕:

class SomeController extends Zend_Controller_Action {

    public function someAction() {
        ...
        $this->_redirect('/error/device-unknown/id/12345');
    }

}

然而,这将我带到标准的Web服务器404页面。

我知道我可以使用$this->_forward()代替,但我已经以URL的形式获得了目标位置。有没有办法让Zend使用URL来显示错误屏幕?

1 个答案:

答案 0 :(得分:0)

您是否设置了路由器重写以接受URL参数并映射到错误控制器+操作?

//example
$router = $ctrl->getRouter(); // returns a rewrite router by default
$router->addRoute(
    'user',
    new Zend_Controller_Router_Route('user/:username',
                                     array('controller' => 'user',
                                           'action' => 'info'))
);

来自http://framework.zend.com/manual/en/zend.controller.router.html