【问题标题】:Hide Codeigniter controller name from URL with multiple controllers使用多个控制器从 URL 中隐藏 Codeigniter 控制器名称
【发布时间】:2012-02-15 22:38:22
【问题描述】:

我在 routes.php 中使用以下代码从 URL 结构中隐藏控制器名称:

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

效果很好,但我的问题是:当我想访问另一个控制器时,它似乎将其视为隐藏控制器的功能。

例如。我有

http://mysite.com/controller1/somefunction

变成:

http://mysite.com/somefunction

如果我想访问怎么办:

http://mysite.com/jsonfunction/anotherfunction/

如何在隐藏另一个控制器的同时访问另一个控制器?我真的不希望访问者看到http://mysite.com/maincontroller/ 这只是多余的!

【问题讨论】:

标签: codeigniter url controller


【解决方案1】:

恐怕您将不得不更具体地定义您的路线。 您仍然可以使用:

$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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-08
    • 2014-08-16
    • 2011-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多