前端控制器插件中的Zend Framework重定向导致重定向循环

efo*_*rth 4 php redirect zend-framework apache2

class Ef_AppSecurity extends Zend_Controller_Plugin_Abstract
{
    public function preDispatch(Zend_Controller_Request_Abstract $request)
    {
        if (!Zend_Auth::getInstance()->getIdentity())
        {
            $redirect = new Zend_Controller_Action_Helper_Redirector();
            $redirect->gotoSimpleAndExit('login', 'auth');
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

它重定向并更改为新URL,但是在浏览器中它会创建一个重定向循环.我想知道问题是否可能源于apache mod_rewrite设置.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Run Code Online (Sandbox Code Playgroud)

che*_*rtz 6

不要在login/auth上附加该插件,或者 ; 将标准扩展到

if (!Zend_Auth::getInstance()->getIdentity()
     && $this->getRequest()->getControllerName() != 'login'
     && $this->getRequest()->getActionName() != 'auth')
Run Code Online (Sandbox Code Playgroud)