我有一个名为'list'的控制器。它只是在从数据库中检索用户后列出用户。这种观点有分页,但这是我自己的分页。我想做的是:
www.example.com/list/<page_num> --> show records belongs to page number given
www.example.com/list --> show first page, i.e. it is equal to '...com/list/1'
为此,我有一条这样的路线:
$route['list/(:num)'] = "list/index/$1";
当我想在页面锚点处指定href的链接时出现问题。例如,当我为第二页设置链接时,如href =“list / 2”,那个'list'字加起来就是uri,经过一些点击,我得到了类似的东西:
www.example.com/list/list/list/3
如果我使用href =“2”,则链接变为
www.example.com/2
无效。我可以在控制器名称的末尾使用“/”,我的意思是代替使用'... com / list',我可以使用'... com / list /',但是这不是我想的最好的解决方案一些用户想要“预备”它最后删除斜杠。我足够为每个链接使用base_url,img,css等!这个问题有解决方案吗?
答案 0 :(得分:1)
我会为这个代码制作代码
function index() {
redirect('list/1'); //whatever default or you can try _remap()
}
function list( $page = FALSE ) {
if ($page === FALSE || !$this->_validPageFunction( $page )) $page = '1';
//... whatever needs to be done here
}
private function _validPageFunction( $page ) {
// return FALSE (not-valid) or TRUE (valid)
}
sidenote :尽量不要打扰那么多的路由,使用index()
函数重定向到默认值,路由可以/搞乱
sidenote2 :始终使用base_url('');
作为链接。