是否可以设置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)
localhost/Undefinedpage
时,我想要这个
controllers / main.php匹配。注意我无法在config/routes
中明确列出,因为我
不知道实际的文字是什么。
我也不想进行外卡匹配,因为它会阻止CI的正常运行。我也不想为每个控制器设置一条路线 - 这很愚蠢。
404覆盖接近我想要的操作,但404覆盖不会阻止发出404 - 因此该解决方案也无效。
感谢您的建议。
答案 0 :(得分:0)
在config/routes.php
$route['404_override'] = 'controllers/main';
当用户访问某个其他网址时, CI会将其视为404并重定向到控制器上方