yii2 url管理器没有解析第二个参数

时间:2014-12-22 13:04:57

标签: php routing yii2

我尝试为产品管理设置一些休息控制器。我想要从url:/ product / decrease / 4/8运行 在url manager我有:

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

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您的规则看起来不错,但我不相信这条规则

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

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

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

将始终首先触发较短的一个。所以我会改变它们。然后重新测试。

然后处理减少参数,你确定你没有这样的变量吗?