路由设置(:any)/(.*) 第2段为空路由不到
设置:$route['(:any)/(.*)'] = '/show/contents/$1/$2';结果:
index.php/1/2 ==>ok
index.php/1/ ==> 404
index.php/1/2/3 这个不用管,只作为示例
重点: 想 index.php/1/ 匹配到我定义的控制器中,这个路由该怎么写?
谢谢。
本帖最后由 wpcolor 于 2018-9-28 11:23 编辑
如果设置:$route['(:any)'] = '/show/contents/$1'; 是可以匹配:/1/
但第1段,还有别的路由规则。 比如 *.html -> 控制器A *.php-> 控制器B
这样的话,会不会冲突? 还是那条规则放前面,先匹配到了就执行?
目的就是:有2段 的URL 到自定义的控制器A
1段的,根据后缀情况,分别到其他控制器BCD...
多写一个 (:any)/ 试试。。。。。 搞定,其实也挺简单的, 注意下顺序,和多加一个匹配。多谢版主。
// --- 自定义 routes 注意顺序不能乱---
$route['(:any)\.html'] = '/show/index/$1'; //匹配:/xxx.html
$route['(:any)/(.*)'] = '/show/contents/$1/$2'; // 匹配:/xxx/yyy
$route['(:any)'] = '/show/contents/$1'; // 匹配: /xxx or /xxx/
页:
[1]