1

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

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

我已经能够使用类似于http://codeigniter.com/wiki/mod_rewrite的 htaccess 从 url 中删除 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 函数,但在这种情况下没有帮助。

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

4

1 回答 1

1

您可以使用通配符路由,

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

那么如果你去http://localhost/function_one/param1

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


nb:我必须指出,整个站点只使用一个控制器确实给我敲响了警钟,您可能希望检查您的代码设计,但这只是我。

于 2012-04-14T01:46:50.063 回答