Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当找不到类时,如何加载默认控制器_Php_Codeigniter - Fatal编程技术网

Php 当找不到类时,如何加载默认控制器

Php 当找不到类时,如何加载默认控制器,php,codeigniter,Php,Codeigniter,是否可以设置CI,以便当URI匹配时,它遵循调用匹配类的方法的标准方法,但当没有匹配的类时,它会调用默认类 例如,假设我定义了以下控制器: controllers/main.php controllers/page1.php 当URI为localhost/Main时,则controllers/Main.phpclass 匹配(标准CI) 当URI为localhost/时,则controllers/main.php类 匹配(假设在中定义了默认控制器) config/routes.php) 当U

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

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

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

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

  • 当URI为
    localhost/Page1
    时,则
    controllers/Page1.php

    类匹配(标准CI)

  • 当URI为
    localhost/Undefinedpage
    时,我需要
    要匹配的控制器/main.php
注意:我不能在
config/routes
中明确列出这一点,因为我 不知道实际的文本是什么

我也不想做通配符匹配,因为它会妨碍CI的正常运行。我也不想为每个控制器设置一个路由-那太傻了

404越轨接近我想要的操作,但是404越轨并不能阻止404的发布,所以这个解决方案也是无效的


谢谢你的建议。

config/routes.php

$route['404_override'] = 'controllers/main';
当任何用户访问其他URL时,CI将把该URL作为404进行删除,并重定向到上面的控制器


config/routes.php中

$route['404_override'] = 'controllers/main';
当任何用户访问其他URL时,CI将把该URL作为404进行删除,并重定向到上面的控制器


您的CI版本是什么?您的CI版本是什么?如果“它不会影响show_404()函数,该函数将继续加载默认错误_404.php”,结果会是什么?您在
404_override
中给出的值会加载“它不会影响show_404()函数”的结果是什么函数,它将继续加载默认错误_404.php”?您在
404\u override
中给出的值将加载什么