Php 将变量传递给默认的codeigniter控制器

Php 将变量传递给默认的codeigniter控制器,php,codeigniter,url,Php,Codeigniter,Url,我有一个默认控制器的codeigniter设置。可通过以下方式访问: site.com/index.php 但实际上: site.com/project/index 其中,index是默认函数 我想做以下工作: site.com/project7362 但它实际上想要: site.com/project/index/project7362 其中项目名称是传递到索引函数的变量。但默认情况下,它将项目名称作为控制器查找。有没有办法避免这种情况 本质上,我希望实现的是在域名之后直接传递一个变

我有一个默认控制器的codeigniter设置。可通过以下方式访问:

site.com/index.php 
但实际上:

site.com/project/index
其中,index是默认函数

我想做以下工作:

site.com/project7362
但它实际上想要:

site.com/project/index/project7362
其中项目名称是传递到索引函数的变量。但默认情况下,它将项目名称作为控制器查找。有没有办法避免这种情况

本质上,我希望实现的是在域名之后直接传递一个变量。用户可以创建一个项目,我希望可以通过domain.com/project\u id访问该项目

“基本上,我希望实现的是传递一个变量 直接在域名之后。用户可以创建一个项目,而我 希望该项目可以访问domain.com/project\u id“

所以,另一种方法是像这样做

domain.com/project/id
这将为您以后在路线中添加不同功能提供更大的灵活性。
在配置/路由中:

$route['project/(:any)'] = 'project/view/$1'; 
在项目控制器中

    function view($id) {

    // clean it
    $id = htmlspecialchars($id) ;

   if ( ! $project = $this->members->returnProjectBy($id) {

       $this->showNoResultsFor($id) ; } 

   else { $this->show($project) ;  } 

   }    
或者——另一种方法是将定义的路由放在第一位,然后让project放在最后(因为它需要搜索任何存在的路由)

那么你的链接可能是

domain.com/id

您好,亚当,您尝试使用的控制器的名称是什么?请更清楚地编辑项目和项目名称,以便理解您想要实现的目标。我的控制器的名称为“项目”。我的编辑更有意义吗?
domain.com/id