我在php codeigniter中开发了一个项目。该项目已接近完成,但现在我的经理要我完全删除或隐藏URL中的控制器名称。我当前的网址如下所示:
我的经理希望它看起来像这样:
请注意,我的项目中有10个以上的控制器和许多功能。我想要一个适用于所有人的方法。请帮助。
答案 0 :(得分:7)
您可以使用$route
。
如果您只有一个Controller
,并且在该控制器中,您可以编写以下内容functions
:
$route['(:any)'] = "Controller_Name/$1";
如果您有许多Controllers
,则需要为每个function
指定要指向的控制器。像这样:
$route['function1'] = "Controller_Name1/function1";
$route['function2'] = "Controller_Name1/function2";
$route['function3'] = "Controller_Name3/function3";
您在$route
此$route
数组应位于此处:application/config/routes.php
。
您可以在此处查看CI文档中有关路线的更多信息:https://www.codeigniter.com/userguide3/general/routing.html
答案 1 :(得分:1)
您必须在路线文件中指定您的控制器和方法名称,如下所示
$ route ['function_name'] ='controller_name / function_name';
你必须为控制器中的每个功能写这个。通过这样做你有两个好处
1)控制器名称将隐藏在您的网址中 2)你只能按名称调用一些方法。每次都不需要使用控制器名称。