我有以下的新闻路线,就像魅力一样:
$word5 = urlencode('mygreek-keyword-here');
$route[$word5] = "news/displayAllNews";
此页面在地址栏中显示带有所需关键字的所有新闻。但是...总有一个但是...我在此页面上有分页,所以当我单击下一页链接时...页面可以工作,但使用旧的不友好的 seo url,即:
news/displayAllNews/10/10
虽然我想要的是:mygreek-keyword-here/10/10
我的控制器中用于分页的代码如下:
$config['base_url'] = site_url('/news/displayAllNews/'.$limit.'/');
我应该在routes.php和我的控制器中做什么才能得到想要的结果?
您可以通过
$this->uri->uri_string()
方法获取URI的字符串,并设置分页配置如下:
$config['base_url'] = site_url($this->uri->uri_string() .'/'. $limit.'/');
注意URI库是自动加载的,不需要手动加载。
更新:
将路由规则更改为:
$route["$word5(.*)"] = "news/displayAllNews$1";
如果还不起作用,请删除
.'/'. $limit.'/'
短语并让分页添加 limit
本身:
$config['per_page'] = 10; // or $limit, default items per page.
$config['use_page_numbers'] = FALSE;