Yii中的页面重定向问题

时间:2012-04-28 14:42:00

标签: php yii

我的应用程序中存在一个问题,它是在Yii中构建的...当我想访问一个链接,显示我在FireFox中出错时...

  

页面未正确重定向

     

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

并且在chrome中说它......

  

此网页有重定向循环

在本地机器上工作得更好;没有问题,但上面的错误是在实时服务器上...

现在主要问题是什么??

2 个答案:

答案 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'));