Yii2 网址管理器没有解析第二个参数


yii2 url manager is not parsing second parameter

我尝试为产品管理设置一些休息控制器。我希望操作 ne 从网址运行:/product/reduction/4/8在URL管理器中,我有:

'rules' => array(
            '<controller:'w+>/<id:'d+>' => '<controller>/view',
            '<controller:'w+>/<action:'w+>/<id:'d+>' => '<controller>/<action>',
            '<controller:'w+>/<action:'w+>/<id:'d+>/<id2:'d+>' => '<controller>/<action>',
            '<controller:'w+>/<action:'w+>' => '<controller>/<action>',
        )

我有这样的错误:

<response><name>Bad Request</name><message>Missing required parameters: decrease</message><code>0</code><status>400</status><type>yii'web'BadRequestHttpException</type></response>

我做错了什么?

你的规则看起来不错,但我不相信这个规则

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

将被触发,因为它在此规则之后

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

较短的将始终首先触发。所以我会把它们换过来。然后再次测试。

之后处理 reduce 参数,您确定没有这样命名的变量吗?