3

PHP Yii フレームワークを使用して Web サイトを開発していますが、現在スタックしています。gii を起動する必要がありますが、これを行うことはできません。www.example.com/index.php/gii または www.example.com/gii と入力すると、次のエラーが表示されます。

    /gii/default/login // <- website redirects to here

    This webpage has a redirect loop
    The webpage at http://www.example.com/gii/default/login has resulted in too many redirects.
Clearing your cookies for this site or allowing third-party cookies may fix the problem. 
If not, it is possibly a server configuration issue and not a problem with your computer.

エラーの原因が htaccess とメイン構成の変更によるものだとは思いませんが、とにかく main.php 構成ファイルは次のとおりです。

    'urlManager'=>array(
        'urlFormat'=>'path',
        'showScriptName'=>false,
        'rules'=>array(
            'site/page/<view:\w+>'=>'site/page',
            '<controller:\w+>/<cact:\w+>/<action:\w+>'=>'<controller>/<cact>',
            '<controller:\w+>/<id:\d+>'=>'<controller>/view',
            '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
            '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
        ),
    ),

および .htaccess :

Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on

#non-www to www
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule ^.*$ /index.php [L]

それで、私を助けてもらえますか?

4

5 に答える 5

6

このパスを使用するには:index.php?r=gii/default/loginで URL マネージャーをオフにする必要があります。 /protected/config/main.php

于 2012-10-08T08:50:54.520 に答える
5

もチェックしてくださいurlManagerrulesそれが私にとっての問題でした:

'components' => array(
    'urlManager' => array(
        'urlFormat' => 'path',
        'showScriptName' => false,
        'rules' => array(
            // ...
            // will handle `gii/default/login` uri and makes infinite redirection loop circle
            '<controller:\w+>/<action:\w+>/<sub_action:\w+>'=>'<controller>/<action>',
            // ...
        ),
     ),
 ),
于 2012-11-12T13:22:16.210 に答える
4

構成ファイルのgiiモジュールがそこにあり、コメントが外されているかどうかを確認します。giiがそこにない場合は、モジュール配列内に追加する必要があります。

'modules'=>array(
    'gii'=>array(
        'class'=>'system.gii.GiiModule',
        'password'=>***choose a password***
    ),
),

ここでgiiの詳細情報

于 2012-03-14T17:47:18.357 に答える
1

この問題は、OP の 2 つのセッションが原因で発生します。たとえば、cookie PHPSESSID には 2 つのドメイン domain.site.ru と admin.site.ru の 2 つの異なるセッションがあります。PHPSESSID Cookie を削除し、gii にログインします。

于 2013-11-08T03:06:15.423 に答える