我的应用程序中存在一个问题,它是在Yii中构建的...当我想访问一个链接,显示我在FireFox中出错时...
页面未正确重定向
Firefox检测到服务器正在重定向请求 这个地址永远不会完成。
并且在chrome中说它......
此网页有重定向循环
在本地机器上工作得更好;没有问题,但上面的错误是在实时服务器上...
现在主要问题是什么??
答案 0 :(得分:1)
似乎任何用户都不允许查看“登录”操作。当用户尝试访问仅限成员的页面时,Yii的默认行为是将其重定向到登录页面,并且由于您的登录操作不允许访客用户,Yii会再次重定向到登录页面,从而导致无限循环太多重定向错误
检查控制器类上的accessRules()函数,在你的情况下检查“UserController.php”。 在这种情况下,您需要让“Guest”用户或任何用户执行操作“actionLogin()”。
只需将“login”添加到“actions array”并选中“users array”值为“*”
// 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('*'),
//...
}
//...
当您删除默认登录然后尝试创建自己的登录时,可能会遇到此问题,这可能会解决问题。
答案 1 :(得分:0)
经过几天与循环重定向战斗后,它以非性感的方式解决了,但它有效
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'));