Zend应用程序 - 404错误而不是Zend_Acl_Exception - 如何?

时间:2010-12-07 18:21:00

标签: zend-framework http-status-code-404

目前,当我输入错误的地址时,我得到以下内容:

exception 'Zend_Acl_Exception' with message 'Resource 'default_asda' not found' in /home/alkimi/www/ ...

我想,而不是这个,显示一个costumized 404.

我们如何配置框架呢?

非常感谢, MEM

2 个答案:

答案 0 :(得分:2)

当您尝试向ACL查询不存在的资源时,会出现该异常。在调用isAllowed之前,您应该检查ACL的资源,例如

if (!$acl->has($resource)) {
    // do something that triggers or leads to a 404
}

答案 1 :(得分:0)

您可以在检查权限之前检查操作和控制器是否存在(可分派):

$front = Zend_Controller_Front::getInstance();
if (!$front->getDispatcher()->isDispatchable($request)) {
    throw new Zend_Exception('Page not found', 404);
    return false;
}