Zend:500错误而不是404

时间:2015-06-05 08:55:14

标签: php zend-framework

Zend Framework 1中的404错误问题。http://www.url.nl/path/wrong返回404错误(因为存在/path部分)。但是当第一个路径错误(根)时,它返回500错误。所以http://url.nl/wrong返回500.任何遇到同样问题的人?这是我的错误处理程序:

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' );            
        }

编辑: ACL管理器是问题所在,包含重定向等问题。大多数页面被重定向到后端并受到限制,因为普通用户试图访问该页面。

1 个答案:

答案 0 :(得分:0)

AbstractCollection<CompRational>

尝试评论上一节(就像我一样)。这将告诉您文件位置(在您的网址)的实际问题。一旦你知道了问题,你也可以解决它。

希望它有所帮助。