从codeigniter 2 url路径中删除控制器名称

时间:2012-04-13 23:11:32

标签: codeigniter url

我无法从本地主机上的网址路径中删除控制器名称。

i have this url - localhost:8888/localhost/site_name/

我已经能够使用类似于http://codeigniter.com/wiki/mod_rewrite的htaccess从网址中删除index.php,以便:

localhost:8888/localhost/site_name/index.php/controller_name

现在是:

localhost:8888/localhost/site_name/controller_name/

但我无法从路径中删除控制器名称,以便:

localhost:8888/localhost/site_name/controller_name/function_name/

变为:

localhost:8888/localhost/site_name/function_name/

我只使用一个控制器,并添加了:

$route['^(function_name1|function_name2|function_name3)(/:any)?$'] = 'controller_name/$0'; 

$route['^(?!ezstore|ezsell|login).*'] = "home/$0"; /*similar variation i tried*/

和我的路线文件的其他变化,但它没有任何影响。我也尝试使用_remap函数,但在这种情况下没有用。

任何帮助将不胜感激!感谢

1 个答案:

答案 0 :(得分:1)

您可以使用通配符路径

$route['(:any)'] = "controller_name/$1";

然后,如果你去http://localhost/function_one/param1

它将调用控制器controller_name函数function_once并传递param1作为第一个参数。

<小时/> nb:我必须指出,对整个网站只使用一个控制器会给我带来警告,你可能想要检查你的代码设计,但那只是我。