Yii 中的页面重定向问题


Page redirection issue in Yii

我在 Yii 中构建的应用程序有问题...当我想访问一个链接时,该链接显示火狐中的错误

为..

页面未正确重定向

Firefox 检测到服务器正在重定向请求 此地址永远不会完成。

在铬中它说...

此网页有一个重定向循环

还有一件事它在本地机器上工作正常;没有问题,但上述错误在实时服务器上......

现在这里的主要问题是什么..?

似乎任何用户都不允许查看操作"登录"。当用户尝试访问仅限会员的页面时,Yii 的默认行为是将其重定向到登录页面,并且由于您的登录操作不允许来宾用户使用,Yii 会再次重定向到登录页面,从而导致无限循环和太多重定向错误

检查控制器类 "UserController.php" 上的 accessRules() 函数。 您需要让"来宾"用户或任何用户执行操作,在这种情况下为"actionLogin()"。

只需将"登录"添加到"操作数组"并检查"用户数组"值为"*"

// FILE = WebRoot/protected/controllers/UserController.php
//...
public function accessRules()
        {
                return array(
                        array('allow',  // allow all users to perform 'index' and 'view' actions
                                'actions'=>array('index','view','login'),
                                'users'=>array('*'),
        //...
        }
//...   

当您删除默认登录名然后尝试创建自己的登录名时,您可能会遇到此问题,这可能会解决问题。

经过几天与循环重定向的斗争,它以非性感的方式解决了,但它有效

if (stristr($_SERVER['HTTP_USER_AGENT'], 'Firefox') ) echo '<meta http-equiv="refresh" content="0; url='.Yii::app()->createUrl('url/goes/there').'">' ; 
else $this->redirect(Yii::app()->createUrl('url/goes/there'));