我在 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'));