Question

I have the following routes for the news that works like a charm:

$word5 = urlencode('mygreek-keyword-here');
$route[$word5] = "news/displayAllNews";

and this page display all news with the desired keyword in the address bar. But...there is always a but...I have paging on this page, so when i click on next page link...page works but with old non-friendly seo url, that is:

news/displayAllNews/10/10

while I would like to have is: mygreek-keyword-here/10/10

code that i have in my controller for the paging is as follow:

$config['base_url'] = site_url('/news/displayAllNews/'.$limit.'/');

what should i do in routes.php and in my controller to get the desired result?

Regards, John

Was it helpful?

Solution

You could get the string of URI by $this->uri->uri_string() method, and set the pagination config as follows:

$config['base_url'] = site_url($this->uri->uri_string() .'/'. $limit.'/');

Note that the URI library is loaded automatically, it doesn't need to load it manually.

Update:
Change the route rule to:

$route["$word5(.*)"] = "news/displayAllNews$1";

If it doesn't work yet, remove the .'/'. $limit.'/' phrase and let the pagination to add the limit itself by:

$config['per_page']         = 10;   // or $limit, default items per page.
$config['use_page_numbers'] = FALSE;
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top