路由忽略控制器的路径

时间:2017-02-10 10:48:25

标签: yii yii2

'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName'  => false,
            'rules'           => [
                [
                    'class'  => 'yii\web\GroupUrlRule',
                    'prefix' => 'user',
                    'rules'  => [
                        # Url Path           # Path to controller
                        'registration/'      => 'FAKE DATA',
                        'password-recovery/',
                    ],
                ]

            ],

似乎我的路线'registration /'和'password-recovery /'不是由路径控制器确定的,而是由url路径决定的。正如你在第一个上看到的那样,我把'FAKE DATA'放在第二个上,而在第二个上我没有放任何东西。 我甚至都不明白路线是如何运作的。 在这种情况下,如何指定控制器路径的路径?

编辑:事实上,整个'规则'部分都被忽略了。不知道为什么。

1 个答案:

答案 0 :(得分:0)

Afaik,GroupUrlRule仅用于简化在其模式和路由中共享相同前缀的规则。如果你有这些规则,

[
    'class'  => 'yii\web\GroupUrlRule',
    'prefix' => 'user',
    'rules'  => [
        # Url Path           # Path to controller
        'registration/'      => 'fake', //there should be actionFake on UserController 
        'password-recovery/' => '',
    ],
]

网址user/registration将点击actionFake上的UserController。显示UserController的内容可能很有用。