0

我的 config/routes 文件中有一条路线,如下所示:

$route['thing/(:num)'] = 'site/pages/$1';

在我的分页配置中site/pages,有以下相关选项:

$config["base_url"] = base_url() . "thing";
$config["uri_segment"] = 3;

以上正确生成链接,如:thing/20、thing/40(因为我给了每页 20 个配置选项)并且第一页正确显示了 20 个链接。

但是当我点击第二个页面链接时,它返回一个 404。当我继续在浏览器中将 url 编辑为 /site/pages/20 或 site/pages/40 时,它可以工作。

我在这里做错了什么?

4

4 回答 4

2

您实际上想要读取路由的 URI 段(实际上位于 URL 中的段)。由于您的路由配置,它将是第二段:

$config["uri_segment"] = 2;

文档

分页功能会自动确定 URI 的哪个段包含页码。如果您需要不同的东西,您可以指定它。

分页类3通过猜测controller/method/param“param”是方法的第一个/唯一参数的位置来假设(默认)。

但是,您的路由在第二段中有页码,因此只需将其设置为2.

于 2012-12-07T22:25:02.863 回答
0

如果您正在寻找如何进行分页的任何参考,同时具有良好的路由到每个页面链接,请查看我为其中一个问题提供的这个分页参考答案。我希望它能消除你所有的疑惑。

于 2012-12-08T03:15:06.783 回答
0

查看 codeigniter 用户指南中给出的优秀示例,http ://ellislab.com/codeigniter/user-guide/libraries/pagination.html

于 2012-12-07T21:56:42.167 回答
0

尝试使用

$config["base_url"] = base_url("thing/");

$config["uri_segment"] = 2;

请记住,uri 段是指 uri

于 2012-12-07T22:24:19.487 回答