yii 规则管理器模块无法访问

yii rule manager module not access

我不会像

那样管理我的 URL

http ://abc.com/redmiprime ---> 这是产品详情

http ://abc.com/admin ---> 这是模块

我正在尝试使用此规则访问我的产品和模块,但我无法访问我的模块。

但是当我在 '<url:[\w-]+>' => 'product/details', 规则上添加任何前缀时,例如 'product/<url:[\w-]+>' => 'product/details',

然后我可以访问模块

    'urlManager' => array(
        'urlFormat' => 'path',
        'rules' => array(
            "/" => 'site/index',
            'category/<url:[\w-]+>' => 'product/categoryProduct',

            '<controller:\w+>/<id:\d+>' => '<controller>/view',
            '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
            '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
            '<url:[\w-]+>' => 'product/details',
        ), 'showScriptName' => false,
    ),

这是因为在 RegEx 中 http ://abc.com/redmiprimehttp ://abc.com/admin 具有相同的结构并且匹配第一个正确的路由(在您的情况下 '<url:[\w-]+>' => 'product/details')。您需要一些前缀或其他关键 url 部分,以判断它是模块还是控制器:

module-admin => 'module-<module:\w+>' => '<module>/default/index'
details-redmiprime => 'details-<controller:\w+>' => '<controller>/details',