在生产模式(最小错误)中,当找不到控制器时,Zend会发出404页面找不到错误。有几个控制器,我不想激活它。即使它们不存在,我也不希望页面未找到错误激活。是否有可能以某种方式阻止该错误并给出一个空页面。我猜,如果可能的话,它必须在插件级别完成,因为没有控制器真的存在来处理这个。
答案 0 :(得分:2)
一种可能的解决方案是检查errorAction
中的请求对象以获取控制器和/或抛出异常的操作(对于不存在的控制器和操作,您也可以通过这种方式获取其名称)。基于此,您可以自定义其余的errorAction。例如:
public function errorAction() {
$errors = $this->_getParam('error_handler');
$whatController = $errors->request->getControllerName();
if ('secretController' == $whatController) {
return $this->_redirect('blankErrorPage');
}
// usual rest of errorAction
}