Codeigniter分页和删除索引的路由

时间:2017-11-10 12:34:42

标签: php codeigniter pagination

使用CI 3我能够从我的数据库中检索记录并显示有效的分页。现在我想整理网址。

我希望网址看起来像这样;

  • 第1页example.com/search?q=123
  • 第2页example.com/search/10?q=123
  • 第3页example.com/search/20?q=123

相反,它们显示如下;

  • 第1页example.com/search?q=123
  • 第2页example.com/search/index/10?q=123
  • 第3页example.com/search/index/20?q=123

请注意,在第2页和第3页有index - 这就是我要删除的内容。

我已阅读有关routing的文档,但我无法让它发挥作用。

我的代码示例如下所示。

控制器

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Search extends CI_Controller{

    public function index()
    {
        $search_term = $this->input->get('q');
        $config['uri_segment'] = 3;
        $config['base_url'] = base_url().'search/index';
        $config['use_page_numbers'] = FALSE; 
        $config['reuse_query_string'] = TRUE;
        $config['total_rows'] = $this->search_model->item_list_count($search_term);
        $config['per_page'] = 10;

        $this->load->library('pagination');
        $this->pagination->initialize($config);        
    }

}

routes.php文件

$route['search/(:any)'] = 'search/index/$1';

每当我从/index删除base_url时,地址栏中的网址都会成功更改,但第1页只会刷新。我没有看到任何新数据,也没有转到我的搜索结果的第2页。

$config['base_url'] = base_url().'search';

我还阅读this question,想知道是否还有其他解决方案?

1 个答案:

答案 0 :(得分:-1)

将分页配置中的基本URL更改为:

$config['base_url'] = base_url().'search';