【问题标题】:Routing Controllers in Subfolers子文件夹中的路由控制器
【发布时间】:2016-04-08 23:03:00
【问题描述】:

我在 Codeigniter 中为我的控制器使用文件夹结构。它们如下

  • 文件夹 1

  • ---控制器1

  • ---控制器2
  • 文件夹 2

  • ---控制器3

  • ---控制器4

在配置文件中我有以下代码

$route['folder'] = 'folder1';

$route['folder1/controller1'] = 'folder1/controller1';
$route['folder1/controller1/(:any)'] = 'folder1/controller1/$1';

$route['folder1/controller2'] = 'folder1/controller2';
$route['folder1/controller2/(:any)'] = 'folder1/controller2/$1';



$route['folder'] = 'folder2';

$route['folder2/controller3'] = 'folder2/controller3';
$route['folder2/controller3/(:any)'] = 'folder2/controller3/$1';

$route['folder2/controller4'] = 'folder1/controller4';
$route['folder2/controller4/(:any)'] = 'folder1/controller4/$1';

$route['default_controller'] = 'folder1/controller1';

但是当我在浏览器http://localhost/projectname/ 上导航时,它不会加载配置文件中设置的默认控制器。这是文件夹 1/控制器 1。 有人可以帮忙吗?

非常感谢。

谢谢

【问题讨论】:

  • 默认控制器强制位于控制器文件夹的顶层。所以它不会路由到另一个文件夹内。有不同的方法解决这个问题 - 你可以重定向到另一个控制器。或在 application/core/ 文件夹 -> MY_Router github.com/riwakawebsitedesigns/…
  • 首先需要知道你的codeIgniter版本
  • 有没有办法在不破坏整个框架的情况下删除这种强制功能?我也在使用 3.0.6 版

标签: php codeigniter


【解决方案1】:
$route['folder'] = 'folder1';
$route['folder'] = 'folder2';

请删除其中一行。还要在 routes.php 文件的顶部添加 default_controller。

【讨论】:

  • 完成了,但仍然无法正常工作。从上面的 cmets 中,讨论了默认控制器已被强制位于顶层。只需要知道是否有办法在不破坏框架的情况下解决这个问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-16
  • 2013-09-21
  • 2020-10-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多