【问题标题】:Codeigniter control subfolder controllers routesCodeigniter 控制子文件夹控制器路由
【发布时间】:2013-11-25 13:05:54
【问题描述】:

我在子文件夹中使用了两个控制器,但我只需要在 url 中显示函数名称而不是控制器。

$route['admin/test'] = "admin/sample/test"; 

$route['admin/test1'] = "admin/index/test1";

Admin 是控制器下的子文件夹。

indexsample 是控制器。

【问题讨论】:

    标签: php .htaccess codeigniter routes


    【解决方案1】:

    你的路由文件应该是这样的

     $route['test'] = 'admin/sample/test';
     $route['test1'] = 'admin/index/test1';
    

    另外我建议不要有一个名为 index.html 的控制器。 index() 通常是每个控制器中的默认功能:)

    【讨论】:

    • 非常感谢。它可以工作,但是对于在两个控制器中创建的每个函数,我必须在 routes.php 中创建一个新路由,是吗?
    【解决方案2】:

    对于 Codeigniter 3,更简单的是,将所有方法重定向到控制器,这可以通过正则表达式来完成。

    $route['admin/([^/]+)'] = 'admin/sample/$1';
    

    文档:https://codeigniter.com/user_guide/general/routing.html#regular-expressions

    $1 代表数组键中的第一个正则表达式,正则表达式必须放在括号内。如果你使用更多的表达式,你可以使用 $ 1, $ 2, $ 3 ...等

    【讨论】:

      猜你喜欢
      • 2013-09-16
      • 1970-01-01
      • 1970-01-01
      • 2016-06-08
      • 2012-12-06
      • 2013-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多