【发布时间】:2017-10-18 19:08:30
【问题描述】:
我有一个完全动态的网站,它创建菜单,从后端动态地对所有内容进行分页。 现在让我向您展示创建 URL 的顺序:
http://localhost/occ/level1/level2/....leveln
基本上 level1、level2、... leveln 是特定菜单的级别(层次结构),例如 home/ contact_section/contact_us 现在管理员可以创建多个页面,还可以创建他想要的任意级别的菜单,所以 URL 逻辑是什么,它将继续从父级到最高父级并返回 URL,最后返回URL 的名称将是我传递给通用控制器的名称,它基本上采用名称运行 db 查询获取所有数据,然后在此处显示页面是我的路线:
$route['default_controller'] = 'Home';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['Admin'] = 'Admin';
//$route['(:any)'] = 'Home/pages/$1';
$route['(:any)/(:any)'] = 'Home/pages/$1/$2';
//$route['(:any)/(:any)'] = 'Home/pages/$1';
现在上面的路由有两个问题:
- 假设我的 URL 有两个级别,因此路由 $route['(:any)/(:any)'] = 'Home/pages/$1/$2';现在将调用页面控制器接受名称并显示页面,在我的情况下它始终返回名字,或者您可以说 $1,而我希望将 URL 中的姓氏发送到控制器。
- 我们怎样才能使它通用?就像我可以在用斜杠分隔的 URL 中有 n 级名称一样,如何配置我的路由以接受所有 URL,并将 URL 的姓氏传递给控制器。因为目前如果我在路由中定义了其他级别的 URL,它会显示找不到页面!
【问题讨论】:
标签: codeigniter routes