繁体   English   中英

Yii中的页面重定向问题

[英]Page redirection issue in Yii

我在Yii内置的应用程序中遇到问题...当我想访问一个链接,该链接向我显示FireFox as错误。

页面未正确重定向

Firefox已检测到服务器正在以永远无法完成的方式重定向对该地址的请求。

并在Chrome中显示...

此网页有重定向循环

更重要的是,它可以在本地计算机上正常工作; 没问题,但是上面的错误在实时服务器上...

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

似乎任何用户都不允许查看操作“登录”。 当用户尝试访问仅会员页面时,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'));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM