【发布时间】:2016-05-27 12:24:16
【问题描述】:
我正在尝试在 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,它会返回 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>',
我已经尝试将<module:\w+> 替换为midend。
【问题讨论】:
-
为什么是
<id:\w+>而不是<id:\d+>? -
@soju 好吧,我从动作中复制了 on 并替换为 id。猜猜
\d更有意义。
标签: yii2 yii-url-manager