我在 paths.php 中使用以下代码来隐藏 URL 结构中的 Controller 名称:
$route['(:any)'] = "auth/$1";
它工作得很好,但我的问题是这样的:当我想访问另一个 Controller 时,它似乎将其视为隐藏 Controller 的功能。
举个例子。我有
http://mysite.com/controller1/somefunction
变成:
http://mysite.com/somefunction
如果我想访问怎么办:
http://mysite.com/jsonfunction/anotherfunction/
如何在隐藏另一个 Controller 的同时访问另一个 Controller ?我真的不希望访客看到http://mysite.com/maincontroller/那只是多余的!
最佳答案
恐怕您必须更具体地定义您的路线。 您仍然可以使用:
$route['(:any)'] = "auth/$1";
但它可能会转到您的路线列表按钮。
如果您希望添加其他路线来覆盖该路线,则必须将它们放在顶部。 例如这样:
$route['login'] = "auth/login";
$route['varY'] = "controllerX/varY";
$route['varY/(:any)'] = "controllerX/varY/$1";
$route['foobar'] = "controller/method";
$route['(:any)'] = "auth/$1";
请参阅此文档以获取更多信息和将来的引用: http://codeigniter.com/user_guide/general/routing.html
关于codeigniter - 从具有多个 Controller 的 URL 中隐藏 Codeigniter Controller 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9302590/