Php 将变量传递给默认的codeigniter控制器
我有一个默认控制器的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 其中项目名称是传递到索引函数的变量。但默认情况下,它将项目名称作为控制器查找。有没有办法避免这种情况 本质上,我希望实现的是在域名之后直接传递一个变
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