这是我的情况: 我有页面 localhost / ctc / product 来显示产品, localhost / ctc / product / abcxyz 显示单个产品abcxyz的详细信息。它工作正常,直到我想分页我的主页,因为产品列表太长。我使用通常的分页类来分页,但是当我到下一页时,网址会变成这样: localhost / ctc / product / 1 ,我认为它将分页编号误认为是产品,页面显示什么都没有。那么我该如何解决这个问题呢?谢谢你们所有人,抱歉我的英语不好。
问题解决了。感谢John B和otporan。
答案 0 :(得分:1)
您应该使用正则表达式来限制url的最后一个参数中的内容。
您有3条路线:
ctc/product
ctc/product/abcxyz
ctc/product/1
你必须向路由器机制说明2路由应该只接受字符串作为最后一个参数, 并且第三条路线只能接受作为最后一个参数的数字。
你可以这样做:
$route['ctc/product/([a-z]+)'] = "controller/method/$1";
$route['ctc/product/([0-9]+)'] = "controller/method/$1";
所以现在你有2条路线具有相同数量的" params"在URI中,但路由器知道差异。一个将字符串作为最后一个参数,最后一个路由将整数作为最后一个参数。
我没有时间在本地服务器上测试它。但你应该知道这应该如何运作。
Joust在此处阅读文档:Codeigniter Routing