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/redmiprime
和 http ://abc.com/admin
具有相同的结构并且匹配第一个正确的路由(在您的情况下 '<url:[\w-]+>' => 'product/details'
)。您需要一些前缀或其他关键 url 部分,以判断它是模块还是控制器:
module-admin => 'module-<module:\w+>' => '<module>/default/index'
details-redmiprime => 'details-<controller:\w+>' => '<controller>/details',
我不会像
那样管理我的 URLhttp ://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/redmiprime
和 http ://abc.com/admin
具有相同的结构并且匹配第一个正确的路由(在您的情况下 '<url:[\w-]+>' => 'product/details'
)。您需要一些前缀或其他关键 url 部分,以判断它是模块还是控制器:
module-admin => 'module-<module:\w+>' => '<module>/default/index'
details-redmiprime => 'details-<controller:\w+>' => '<controller>/details',