二级列表首页
$route['([0-9a-zA-Z-]+)/([0-9a-zA-Z-]+)'] = 'category/clist/$1/$2';
/catea/cateb/
/catea/cateb
一级内页
$route['([0-9a-zA-Z-]+)/([0-9a-zA-Z-]+)'] = "article/view/$1/$2";
/cate/123
/cate/123.html
/cate/winter.html
/cate/winter-123abc.html
区分方法一
uri 末尾带 /的算列表首页
其他算内页
区分方法二
末尾带.html 的算内页
其他算列表首页
尝试过无效的代码如下
// $route['([0-9a-zA-Z-]+)/([0-9a-zA-Z-].html)'] = "article/view/$1/$2";
// $route['([0-9a-zA-Z-]+)/([0-9a-zA-Z-].)html'] = "article/view/$1/$2";
// $route['([0-9a-zA-Z-]+)/([0-9a-zA-Z-]).html'] = "article/view/$1/$2";
// $route['([0-9a-zA-Z-]+)/([0-9a-zA-Z-]).html'] = "article/view/$1/$2";
// $route['([0-9a-zA-Z-]+)/([0-9a-zA-Z-]+)/'] = 'category/clist/$1/$2';
// $route['([0-9a-zA-Z-]+)/([0-9a-zA-Z-]+)\/'] = 'category/clist/$1/$2';
以上代码都会被以下代码取代效果
$route['([0-9a-zA-Z-]+)/([0-9a-zA-Z-]+)'] = "article/view/$1/$2";
半夜三点还不能睡觉就为了弄这个问题 求帮忙::doge:: 万分感激
1
lecher 2016-01-17 05:25:20 +08:00 via Android
所有 Web 框架的路由规则都建议最长路径的正则放前面。因为路由规则是顺序执行的。
把带 html 的二级路由规则放一级页面前。 此外并不建议单靠 Web 框架路由实现这个功能。可以考虑把这个正则放到 Apache 、 Nginx 之类的进行处理。 |
2
lxjsmdc 2016-01-17 10:56:00 +08:00 via iPhone
我也想知道
|
3
chaegumi 2016-01-17 20:40:08 +08:00
都指到同一个 controller 的同一个 function ,就可以做了,不要局限在路由中
同一个 function ,里边就可以先查类别,后查文章 |