Проблема с ошибками 404 в Zend Framework 1. http://www.url.nl/path/wrong возвращает ошибку 404 (поскольку существует часть /path
). Но когда первый путь неправильный (корень), он возвращает ошибку 500. Итак, http://url.nl/wrong возвращает 500. Кто-нибудь, кто испытал ту же проблему? Это мой обработчик ошибок:Zend: ошибка 500 вместо 404
switch ($errors->type) {
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ROUTE:
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER:
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION:
// 404 error -- controller or action not found
$this->getResponse()->setHttpResponseCode(404);
$this->view->message = 'Page not found '.$role;
if (!$role) $this->_helper->layout->setLayout ('pages/404');
else $this->_helper->layout->setLayout ('404');
break;
default:
// application error
$this->getResponse()->setHttpResponseCode(500);
$this->view->message = 'Application error';
break;
}
if ($errors->exception instanceof Zend_Acl_Exception) {
// send needed headers...
// prepare log message...
// render info: resource_not_found.phtml
$this->_helper->viewRenderer('error-no-access');
$this->_helper->layout->setLayout ('403');
}
EDIT: Менеджер ACL был проблемой, содержал некоторые проблемы, переадресовывает и т.д. Большинство страниц, на которых перенаправляются на заднем конец и ограниченной, так как обычный пользователь пытается дойти до страницы.
Спасибо, забыл упомянуть об этом здесь, но проблема с менеджером ACL. Бывший программист расширил менеджер ACL Zend и содержит некоторые ошибки –