Codeigniter 2.0使用URL路由获取params

时间:2011-02-20 22:27:48

标签: php codeigniter url-routing

嘿 我在routes.php中写了一行,如下所示:

$route['admin/trip/add'] = "admin/trip_controller/form";

但是当我在浏览器中访问该URL时,我会被送回主索引页面(www.mydomain.com),是否有人知道我做错了什么?

我也在配置文件中启用了GET参数:

$config['allow_get_array']      = TRUE;
$config['enable_query_strings']   = TRUE;

我也试过去一个不使用路由的URL,我也被重定向回主索引页面。

由于

2 个答案:

答案 0 :(得分:1)

enable_query_strings是一个配置选项,允许您通过?c = blog& m = view发送控制器和方法。这会引起麻烦,因为很明显你没有在你的查询字符串中发送那些,所以CodeIgniter会假设没有传递任何内容并显示主页。

答案 1 :(得分:-1)

你应该尝试使用_remap()函数而不是弄乱路径。

所以我想你会有admin.php控制器。

你可以使用重映射功能,它将使用网址的第二段来查找要调用的函数。

<?php

class Admin extends Controller{


function _remap($method, $params =array())
{
  if(method_exists($method))
  {
   $this->$method(); 
  }
  elseif($method == 'trip' && $this->uri->segment(3)=='add')
  {
   //do what you want here
  }
}