URL-Manager不会路由

时间:2017-08-07 19:25:01

标签: yii2-advanced-app

我克隆了我们的存储库,并在我自己的项目中创建了相同的URL规则。现在,我登录后会收到这样的错误:

Firefox:
Fehler: Umleitungsfehler
The website called is rerouting request,which never will come to an end.
This problem sometimes occures, if cookies are deactivated

Chrome:
ERR_TOO_MANY_REDIRECTS

我绝对接受在两个浏览器上使用cookies !! 调试显示我,我有130个请求,所以Yii崩溃了! 我使用Windows,而不是LINUX,所以我不关心任何权限。 以下是规则:



    'urlManager' => [
                'class' => 'yii\web\UrlManager',
                'enablePrettyUrl' => true,
                'showScriptName' => true,
                'enableStrictParsing' => true,
                'rules' => [
                    '/' => 'site/login',
                    'home' => 'site/index',
                    'logout' => 'site/logout',
                    'contact' => 'site/contact',
                    'signup' => 'site/signup',
                    'reset' => 'site/request-password-reset',
                    '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
                    '<action:(contact|captcha)>' => 'site/<action>'
                ],
&#13;
&#13;
&#13;

这是前端配置:

&#13;
&#13;
<?php

$config = [
    // LZA 17-07-30 
    'sourceLanguage' => 'de-DE',
    'language' => 'de-DE',
    // LZA 17-07-30 siehe  Funktionen in  http://demos.krajee.com/grid#module    
    'components' => [
        'request' => [
            // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
            'cookieValidationKey' => '4lD2RxDNkC4ckpwxTmkDzOLIvk0JMs3F',
        ],
    ],
];

if (!YII_ENV_TEST) {
    // configuration adjustments for 'dev' environment
    $config['bootstrap'][] = 'debug';
    $config['modules']['debug'] = [
        'class' => 'yii\debug\Module',
    ];

    $config['bootstrap'][] = 'gii';
    $config['modules']['gii'] = [
        'class' => 'yii\gii\Module',
        // LZA 17-07-30 CRUD
        'generators' => [// customized CRUD generator
            'crud' => [
                // 'class' => 'app\myCrud\crud\Generator', // LZA 17-07-20 die Klasse von CRUD generator
                'class' => '\common\wsl_dev\wsl_crud\crud\Generator', // LZA 17-07-20 die Klasse von CRUD generator
                'templates' => [
                    'myCrud' => '/@common/wsl_dev/wsl_crud/crud/default', //LZA 17-07-20 Templatename und Templatepfad
                ]
            ]
        ],
            // LZA 17-07-30 CRUD        
    ];
}

return $config;
&#13;
&#13;
&#13;

如果我取消了URLManger的设置,请设置

 'enablePrettyUrl' => false,
一切正常。 如果我像这样手动输入Url:

http://localhost/yii2_perswitch/frontend/web/yiic.php/home

一切正常,

任何想法,如何解决这个问题? 我删除了所有的cookie,没有任何影响!

1 个答案:

答案 0 :(得分:0)

解决方案1:

从web / index.php启用调试模式(取消注释这两行):

defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');

你可以确切地看到导致问题的原因。

  

重定向次数错误是因为777权限   未设置运行时和资产文件夹。

解决方案2:

我认为问题与cookie的路径或域有关。我相信这些信息可能很有用。

https://github.com/samdark/yii2-cookbook/blob/master/book/cookies.md