簡體   English   中英

找不到類時如何加載默認控制器

[英]How can I load the default controller when class not found

是否可以將CI設置為使得在進行URI匹配時,它遵循調用匹配類的方法的標准方法,但是在沒有類匹配時,它改為調用默認類?

例如,假設我定義了以下控制器:

controllers/main.php
controllers/page1.php
  • 當URI為localhost/Maincontrollers/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的發出-因此解決方案也是無效的。

感謝您的建議。

config/routes.php

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

每當用戶訪問其他URL時, CI都會將其檢測為404並重定向到上面的控制器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM