有没有办法删除或隐藏网址中的控制器名称?笨

时间:2016-09-21 11:13:41

标签: php codeigniter url

我在php codeigniter中开发了一个项目。该项目已接近完成,但现在我的经理要我完全删除或隐藏URL中的控制器名称。我当前的网址如下所示:

  

http://www.sitename.com/Controller_Name/function_name

我的经理希望它看起来像这样:

  

http://www.sitename.com/function_name

请注意,我的项目中有10个以上的控制器和许多功能。我想要一个适用于所有人的方法。请帮助。

2 个答案:

答案 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)你只能按名称调用一些方法。每次都不需要使用控制器名称。