抓住所有控制器/路线

baf*_*mca 7 codeigniter

如果我想捕获传递给我的Web应用程序的每个非现有 URL并在不提供404的情况下为它们提供视图,我该怎么做?

基本上我需要根据这些命中记录统计数据,但我需要通过提供内容而不是404错误来实现.

据我所知application/config/routes.php,我可以使用

$route['default_controller'] = 'catchall';
Run Code Online (Sandbox Code Playgroud)

但我需要这个用于我的实际网络应用程序.

我也可以用

$route['404_override'] = 'catchall';
Run Code Online (Sandbox Code Playgroud)

但我不想扔404.

我试过用

$route['(:any)'] = '$1';
Run Code Online (Sandbox Code Playgroud)

但我需要记录整个URL(例如任何段的长度),而不仅仅是第一段.

bir*_*ric 6

使用$route['(:any)'] = 'catchall_controller'.然后在您的控制器中,您可以使用访问URI段$this->uri->segment(n).

  • 我想知道为什么这是选择的答案,这也将所有有效的网址也路由到catchall控制器.. !! (4认同)