关于url路由规则,同一个路由,不同参数的规则问题 [ 2.0 版本 ]
这条规则 ,在参数都齐全的时候 是生效的,这是筛选,
product_2_0_0_0_1
但是有的时候 是没有筛选项的,只有一个page:
路由就变成这样了:
product/?page=2
我还是想要它变成是
product_0_0_0_0_2
这规则 要怎么写呢,
PS 另外再加一条规则 我已经试过了,不行呢
yoyo0926 补充于 2017-12-15 09:20
或者 我把0都去掉,规则 写成 product_<page:\d+> 这样子 也不能出现 product_2的路由,还是 ?page=2
最佳答案
-
核查源码发现,确实没法直接通过规则 设置 相关参数的默认值。
但是 设置 多条规则的方法是可行的测试规则(2.0.12 下测试可行) "site/test_<aa:\d+>_<bb:\d+>_<cc:.*>" => "site/index", "site/test_0_0_<cc:.*>" => "site/index",
可能是你用的版本比较老? 或者你可以 调整一下 规则的创建顺序,把包含默认值的规则放到前面。
如果还是不行,建议在 使用的地方 手动填充相关默认值,如
Url::to(['site/index', 'aa' => 0, 'bb' => 0, 'cc' => 123]);
共 1 条回复
其他 1 个回答
yoyo0926
注册时间:2016-04-20
最后登录:2022-04-01
在线时长:11小时46分
最后登录:2022-04-01
在线时长:11小时46分
- 粉丝1
- 金钱295
- 威望0
- 积分405