0

Yii でビルドされたアプリケーションに問題があります... FireFox でエラーを表示するリンクにアクセスしたいのですが..

ページが正しくリダイレ​​クトされていません

Firefox は、サーバーがこのアドレスへのリクエストを決して完了しない方法でリダイレクトしていることを検出しました。

そしてクロムではそれは言う...

このウェブページにはリダイレクトループが含まれてい

もう1つ、ローカルマシンで正常に動作しています。問題はありませんが、上記のエラーはライブサーバーにあります...

ここでの主な問題は何ですか..?

4

2 に答える 2

1

アクション「ログイン」は、どのユーザーにも表示できないようです。ユーザーがメンバー専用ページにアクセスしようとしたときの 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('*'),
        //...
        }
//...   

デフォルトのログインを削除してから独自のログインを作成しようとすると、この問題が発生する可能性があります。これにより、問題が解決する場合があります。

于 2013-09-25T14:14:32.367 に答える
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'));
于 2013-07-01T14:25:52.270 に答える