Jason,您自己制造问题仅仅是因为您忘记了哪些段是控制器/方法的一部分,哪些是您认为相关的段。
首先,我会告诉您坚持一种方法,例如将其附加到末尾(这是从 uri 中的用户角度来看,而不是您的路由配置):
/view/page/1233/name/blue-skies/pg/20
上面的格式在后端意味着这样的东西:
/view/
是控制器,page
是你在控制器中的方法,然后你将使用$this->uri->uri_to_assoc(4)
(第 4 个元素,作为开始的名称)。
这样您就可以正确捕获页码1233
,然后捕获所有相关数据。
作为一个建议,我会警告不要使用不可读的变量,它会导致混乱并且不会使您的网站 url SEO 友好(谁知道 /v/p/123/v/l/20 到底意味着什么?)。
$this->output->profiler(TRUE);
如果您在使用 uri 路由时遇到问题,请始终使用您的 . 除非您真的需要,否则不要弄乱您的路由配置,这可能会导致混淆,从而使您的测试复杂化。
编辑
我造成了混淆,因为根据您的问题,您可以从 config.php 文件或分页类的位置将其解释为路由问题。我从第一种方法中得到它。
为了澄清你需要简单地坚持一个干净的 url 方法,如果你使用 uri_to_assoc,那很好。但是不要忘记分页的页码。
您可以通过将页码设置为 uri 中的最后一个元素来解决此问题
最后的: /view/page/1233/name/blue-skies/user/12/20
其中20
是由分页生成的页码,其他是您用于任何用途的段。
$config['uri_segment'] = 6;
在这种情况下,您将设置您的,并且您的$config['base_url'] = '/view/page/1233/'.$this->uri->assoc_to_uri($uri_segments);
在哪里:
$uri_segments = array(
'name' => 'blue-skies',
'user' => '12');
如果
不知道你有多少段(比如一个动态的 $uri_segments 数组),$this->uri->total_segments()
用来计算总段,然后你的分页是那个(最后一个)的+1。