首页 > 解决方案 > Yii2 高级 - 在模块中启用漂亮的 URL

问题描述

我正在学习模块在 Yii2 中的工作原理,现在我创建了以下模块:gdpr. 我可以访问以下路线:/index.php?r=gdpr/user/index. 但是,我想访问这样的路线:/gdpr/user/index. 我怎样才能做到这一点?

配置.php:

<?php
return [
    'components' => [
        'urlManager' => [
            'class' => 'yii\web\UrlManager',
            'enablePrettyUrl' => true,
            'enableStrictParsing' => true,
            'showScriptName' => false,
            'rules' => [
                ['class' => 'yii\rest\UrlRule', 'controller' => 'modules\gdpr\default'],
                ['class' => 'yii\rest\UrlRule', 'controller' => 'modules\gdpr\user'],
            ],
        ],
    ],
    'params' => [
        // list of parameters
    ],
];

标签: yii2yii2-advanced-appyii-routingyii-rest

解决方案


您需要以这种方式配置控制器:

'components' => [
    'urlManager' => [
        'class' => 'yii\web\UrlManager',
        'enablePrettyUrl' => true,
        'enableStrictParsing' => true,
        'showScriptName' => false,
        'rules' => [
            [
                'class' => 'yii\rest\UrlRule', 
                'controller' => ['gdpr/default', 'gdpr/user'],
            ],
        ],
    ],
],

https://www.yiiframework.com/doc/api/2.0/yii-rest-urlrule#$controller-detail


推荐阅读