我正在尝试用来Yii 2's
UrlManager
设置规则,而且我知道您可以在想要传递的参数中使用Regex,例如:
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => false,
'rules' => [
'foo/<id:\d+>/?' => 'foo/view',
],
],
上面的方法效果很好,即使最后一个可选参数也/
因为?
。
但是,我想知道是否要在规则的其他位置使用RegEx,但是我不需要将RegEx作为参数传递.....例如。
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => false,
'rules' => [
'foo/([0-9a-zA-Z\-]+)\.<id:\d+>/?' => 'foo/view',
],
],
上面的方法不起作用。基本上,我想支持URL,例如:
foo/some-name-123-end.99/
foo/some-name-123-end.99
然后,99
(可以是任何数字)将作为id
变量传递。
...或者我的RegEx出问题了吗?
能做到吗?
根据文档,您只能为参数指定正则表达式。例子:
'foo/<tmpParam:[0-9a-zA-Z\-]+>.<id:\d+>/?' => 'foo/view',
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句