如何在找不到课程时加载默认控制器

时间:2015-11-26 03:08:44

标签: php codeigniter

是否可以设置CI,以便在进行URI匹配时,它遵循调用匹配类的方法的标准方法,但是当没有匹配类时,它会调用默认类?

例如,假设我定义了以下控制器:

controllers/main.php
controllers/page1.php
  • 当URI为localhost/Main时,controllers/main.php类 匹配(标准CI)

  • 当URI为localhost/时,controllers/main.php类 匹配(假设默认控制器定义为 config/routes.php

  • 当URI为localhost/Page1时,controllers/page1.php为 类匹配(标准CI)

  • 当URI为localhost/Undefinedpage时,我想要这个 controllers / main.php匹配。

注意我无法在config/routes中明确列出,因为我    不知道实际的文字是什么。

我也不想进行外卡匹配,因为它会阻止CI的正常运行。我也不想为每个控制器设置一条路线 - 这很愚蠢。

404覆盖接近我想要的操作,但404覆盖不会阻止发出404 - 因此该解决方案也无效。

感谢您的建议。

1 个答案:

答案 0 :(得分:0)

config/routes.php

$route['404_override'] = 'controllers/main';
  

当用户访问某个其他网址时, CI会将其视为404并重定向到控制器上方