我在我的应用程序中使用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来显示错误屏幕?
答案 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