Php yii2-urlmanager路由不工作

Php yii2-urlmanager路由不工作,php,yii2,Php,Yii2,在这里,我使用了带规则的yii2配置 <?php $params = array_merge( require(__DIR__ . '/../../common/config/params.php'), require(__DIR__ . '/../../common/config/params-local.php'), require(__DIR__ . '/params.php'), require(__DIR__ . '/params-local.ph

在这里,我使用了带规则的yii2配置

<?php
$params = array_merge(
    require(__DIR__ . '/../../common/config/params.php'),
    require(__DIR__ . '/../../common/config/params-local.php'),
    require(__DIR__ . '/params.php'),
    require(__DIR__ . '/params-local.php')
);

return [
    'id' => 'app-backend',
    'basePath' => dirname(__DIR__),
    'controllerNamespace' => 'backend\controllers',
    'bootstrap' => ['log'],
    'modules' => [],
    'components' => [
        'user' => [
            'identityClass' => 'common\models\User',
            'enableAutoLogin' => true,
        ],
        'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],  
        'urlManager' => [
                'enablePrettyUrl' => true,
                'rules' => require(__DIR__ . '/routes.php'), 
        ],
        'errorHandler' => [
            'errorAction' => 'site/error',
        ],
    ],
    'params' => $params,
];

您似乎有模块。首先,您需要将
api
模块添加到配置文件中:

'modules' => [
    'api'
],
其次,您需要将模块添加到规则中,如下所示:

'<module:\w+>/<controller:\w+>/<action:\w+>'=>'<module>/<controller>/<action>',
'<module:\w+><controller:\w+>/<action:update|delete>/<id:\d+>' => '<module>/<controller>/<action>',
'/'=>'/',
'//' => '//',
值得注意的是,您可能需要使用模块处理其他规则,并拥有自己的自定义规则。

'POST s'=>'/create',更改为'POST'=>'/create',
'<module:\w+>/<controller:\w+>/<action:\w+>'=>'<module>/<controller>/<action>',
'<module:\w+><controller:\w+>/<action:update|delete>/<id:\d+>' => '<module>/<controller>/<action>',