2015-06-05 2 views
1

Проблема с ошибками 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 был проблемой, содержал некоторые проблемы, переадресовывает и т.д. Большинство страниц, на которых перенаправляются на заднем конец и ограниченной, так как обычный пользователь пытается дойти до страницы.

ответ

0
/*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;*/ 

Попробуйте комментировать этот раздел (как и я). Это скажет вам фактическую проблему в вашем расположении файла (по вашему URL). Как только вы знаете проблему, вы также можете ее решить.

Надеюсь, это поможет.

+0

Спасибо, забыл упомянуть об этом здесь, но проблема с менеджером ACL. Бывший программист расширил менеджер ACL Zend и содержит некоторые ошибки –

Смежные вопросы