Codeigniter,获取uri-> segment(1)作为参数而不是控制器

时间:2016-02-07 15:34:17

标签: codeigniter codeigniter-2 codeigniter-3

将示例网址视为:http://localhost/project/ABCD (其中'http://localhost/project/'是base_url(),'ABCD'将被视为控制器。)

每当我用这个url发出请求时,我希望我的'home.php'控制器运行它的索引函数(这是默认路由)并使该索引函数接受'ABCD'作为参数。

所以'ABCD'应该成为参数,而不是控制器或方法。

如何实现这一目标?

3 个答案:

答案 0 :(得分:0)

您可以尝试做的是在您的网址中添加索引,因此您将其称为http://localhost/project/index/ABCD,其中ABCD是您的索引函数的参数 它在CodeIgniter文档中说明 CodeIgniter Controllers 希望这有帮助

答案 1 :(得分:0)

刚刚解决了。这很简单。 在route.php文件中写入以下行:

$route['default_controller'] = 'welcome';
$route['(:any)'] = 'home/index';
这样做 http://localhost/project/会重定向到欢迎控制器

http://localhost/project/ABCD将重定向到主页/索引控制器, ABCD 作为索引函数的参数

答案 2 :(得分:0)

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

警告:

  

路线将按照定义的顺序运行。较高的路线总是优先于较低的路线。

所以(:any)路由应保留在路由列表的末尾。 Docs