codeigniter - 从具有多个 Controller 的 URL 中隐藏 Codeigniter Controller 名称

标签 codeigniter url controller

我在 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/

相关文章:

php - 将多个条目连接到单个条目

python - 如何拆分网址

java - 将文本转换为 URL

spring-mvc - 如何 JUnit 测试 @PreAuthorize 注释及其由 spring MVC Controller 指定的 spring EL?

php - 如果 session 已过期,Codeigniter 重定向到登录页面

php - 如何在 codeigniter Hook 中检索第三个 uri 段

c# - 从 .NET 中的字符串获取 URL 参数

java - MVC : Should this function be in the Controller or in the Model

asp.net-mvc - 无法解析数据表ajax请求

php - CodeIgniter:发生数据库错误错误号:1054