【问题标题】:Codeigniter 2.1 - RoutingCodeigniter 2.1 - 路由
【发布时间】:2012-09-26 08:59:46
【问题描述】:

我对使用 CI 的路由有点陌生,我不太了解它(老实说一点也不)。我有以下需要更改的网址:

domain.com/mali_oglasi/index/1(一些数字)

它用于分页,我需要将它缩短为:

domain.com/mali_oglasi

我试过了:

$route['mali_oglasi/index/(:num)'] = 'mali_oglasi';

但它似乎不起作用(没有任何改变)。我做错了什么,需要改变什么?

来自控制器的索引函数ma​​li_oglasi

function index() {     

    $config['base_url'] = base_url().'mali_oglasi/index';
    $config['total_rows'] = $this->db->count_all('ad');
    $config['per_page'] = 10;

    $this->pagination->initialize($config);
    $data['pagination_links'] = $this->pagination->create_links();


    $data['title'] = "Mali Oglasi | 010";
    $data['oglasi'] =  $this->mgl->mgl_get_all_home($config['per_page']);
    $data['loc'] = $this->gi_loc;
    $data['cat'] = $this->gi_cat;
    $data['stylesheet'] = $this->css;
    $data['main_content'] = 'mali_oglasi';

    $this->load->view('template',$data);
}

【问题讨论】:

  • 物理缩短?就像在 URL 栏中缩短它一样?
  • 就是这样。我想松开 url 的 incex/1 部分。
  • 我认为应该没问题...您可以从控制器发布您的索引部分吗?

标签: php codeigniter codeigniter-2


【解决方案1】:

您需要使用 .htaccess 来实现您想要实现的目标,更重要的是,“mod_rewrite”部分:

https://www.google.co.uk/search?q=htaccess+rewrite

CodeIgniter 路由不会改变 URL 的外观,它只是改变它的目的地。

【讨论】:

  • @Sasha 那里有很多很好的教程,别担心 :-)
【解决方案2】:

Codeignitor 路由很简单

    serverpath(base_url)/controller/method(function)/para1/valu1/para2/valu2...

您从定义 .htaccess 规则(创建文件)中隐藏索引文件。

更多信息请访问:user_guide,您很容易理解。

【讨论】:

    【解决方案3】:

    试试:

    $route['mali_oglasi/(:num)'] = 'mali_oglasi/index/$1';
    

    然后可以通过 domain.com/mali_oglasi/1

    访问您的 domain.com/mali_oglasi/index/1

    编辑: 要松开 /1,只需执行以下操作:

     $route['mali_oglasi'] = 'mali_oglasi/index/1';
    

    【讨论】:

    • $route['mali_oglasi'] = 'mali_oglasi/index/1'; 这将始终返回 1 到索引函数.. 这是不对的
    • 那时您可能应该重新考虑代码,但总的来说,如果您是 codeigntier 的新手,使用 htaccess 重写代码架构错误并不是一条好路。
    【解决方案4】:

    试试这个

    $route['mali_oglasi/(:num)'] = 'mali_oglasi/index/$1';
    

    它会帮助你 http://codeigniter.com/user_guide/general/routing.html

    对于分页,你可以添加这个

    $config['uri_segment'] = 3;
    

    它是可选的,但最好添加

    【讨论】:

      猜你喜欢
      • 2010-11-20
      • 2011-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-20
      相关资源
      最近更新 更多