سؤال

أنا تطوير الموقع مع إطار فب يي وأنا الآن كومة ، ولست بحاجة لبدء جي ، ولكن لا أستطيع أن أفعل هذا.عندما اكتب 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.

لا أعتقد أن الخطأ هو بسبب تعديل هتكس والتكوين الرئيسي ، ولكن على أي حال هنا هو الرئيسي.ملف التكوين فب:

    '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>',
        ),
    ),

و .هتكس :

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]

لذلك يمكنك مساعدتي, رجاء?

هل كانت مفيدة؟

المحلول

تحقق مما إذا كانت الوحدة النمطية GII في ملف التكوين الخاص بك موجودة وهي غير مأهولة. إذا لم يكن GII موجودا، يجب عليك إضافته داخل مجموعة الوحدة النمطية.

giveacodicetagpre.

مزيد من المعلومات ل GII هنا

نصائح أخرى

لاستخدام هذا المسار: index.php?r=gii/default/login ، يجب إيقاف تشغيل مدير عنوان ورل في /protected/config/main.php

تحقق أيضا من urlManager godyodicetagcode.كانت هذه هي القضية بالنسبة لي:

giveacodicetagpre.

مثل ذكر فيليكز, ، قد يكون هذا لأنك قمت بإنشاء معلمة ثالثة في قاعدة تستخدم \w+ بدلا من الافتراضي \d+ وبالتالي سوف تتطابق مع " جي "كوحدة تحكم ،" الافتراضي "كإجراء و" تسجيل الدخول " كمعرف (أو إجراء فرعي ، أو أي شيء مذكور).

بدا قواعد بلدي مثل ما يلي:

'<controller:\w+>/<action:\w+>/<id:\w+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',

الإصلاح هو إضافة ما يلي كقاعدة الأولى من أجل جعل مؤشر الابتكار العالمي ضرب المكان الصحيح:

'gii/<controller:\w+>/<action:[\w-]+>' => 'gii/<controller>/<action>',

التي ينبغي أن تجعل كامل الخاص بك urlManager التكوين تبدو شيئا مثل ما يلي:

'urlManager'=>array(
    'urlFormat'=>'path',
    'showScriptName'=>false,
    'rules'=>array(
        'gii/<controller:\w+>/<action:[\w-]+>' => 'gii/<controller>/<action>',

        '<controller:\w+>/<action:\w+>/<id:\w+>'=>'<controller>/<action>',
        '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
    ),
),

تحدث هذه المشكلة بسبب الدورتين من البروتوكول الاختياري، على سبيل المثال ملف تعريف الارتباط phpsessid هناك مجال اثنين من المجالات .site.ru and admin.site.ru جلستين مختلفتين.حذف ملفات تعريف الارتباط الفمسية وتسجيل الدخول إلى GII

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top