urlManager 规则不适用于 Yii2 模块
urlManager rules not working on modules Yii2
我正在尝试在 Yii 2 中制定一些 url 规则,这样我就可以像这样从控制器访问一个动作:
controller/action/1 -> controller/action (with a parameter)
我尝试了一些规则,但它们在我的模块中不起作用 (www.example.com/midend, www.example.com/backend).
所以,如果我想访问 www.example.com/controller/action/1
它工作得很好,但如果我想访问 www.example.com/midend/controller/action/1
它 return 404.
这些是模块的规则:
'<module:\w+>/<controller:\w+>/<action:\w+>/<id:\w+>' => '<module>/<controller>/<action>',
'<module:\w+>/<controller:\w+>/<action:\w+>' => '<module>/<controller>/<action>',
'<module:\w+>/<controller:\w+>/<id:\w+>' => '<module>/<controller>',
这些是没有模块的规则:
'<controller:\w+>/<action:\w+>/<id:\w+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
'<controller:\w+>/<id:\w+>' => '<controller>',
我已经尝试用 midend
替换 <module:\w+>
。
假设你的 id 是整数,你应该简单地用这个替换你的规则:
'<controller>/<action>/<id:\d+>' => '<controller>/<action>',
它将适用于:
- www.example.com/controller
- www.example.com/controller/动作
- www.example.com/controller/动作/1
- www.example.com/module(假设您有默认控制器)
- www.example.com/module/控制器
- www.example.com/module/控制器/动作
- www.example.com/module/控制器/动作/1
我正在尝试在 Yii 2 中制定一些 url 规则,这样我就可以像这样从控制器访问一个动作:
controller/action/1 -> controller/action (with a parameter)
我尝试了一些规则,但它们在我的模块中不起作用 (www.example.com/midend, www.example.com/backend).
所以,如果我想访问 www.example.com/controller/action/1
它工作得很好,但如果我想访问 www.example.com/midend/controller/action/1
它 return 404.
这些是模块的规则:
'<module:\w+>/<controller:\w+>/<action:\w+>/<id:\w+>' => '<module>/<controller>/<action>',
'<module:\w+>/<controller:\w+>/<action:\w+>' => '<module>/<controller>/<action>',
'<module:\w+>/<controller:\w+>/<id:\w+>' => '<module>/<controller>',
这些是没有模块的规则:
'<controller:\w+>/<action:\w+>/<id:\w+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
'<controller:\w+>/<id:\w+>' => '<controller>',
我已经尝试用 midend
替换 <module:\w+>
。
假设你的 id 是整数,你应该简单地用这个替换你的规则:
'<controller>/<action>/<id:\d+>' => '<controller>/<action>',
它将适用于:
- www.example.com/controller
- www.example.com/controller/动作
- www.example.com/controller/动作/1
- www.example.com/module(假设您有默认控制器)
- www.example.com/module/控制器
- www.example.com/module/控制器/动作
- www.example.com/module/控制器/动作/1