Откройте application / config / router.php и измените
$route['404_override'] = '';
до
$route['404_override'] = 'router/index';
Вы можете использовать все контроллеры как обычно.
Когда вы пытаетесь использовать контроллер, который не существует, вы должны направить его на контроллер 404.
Создайте контроллер с именем Router.php в качестве контроллера, структурированного для CodeIgniter.
В методе index внутри Router.php , запросите связанный sef url и выполните необходимые операции. Все запросы, которые направляются на неопределенный контроллер, будут обрабатываться методом router / index . Другие будут перенаправлены на соответствующий контроллер как обычно.
Возможно, вы захотите использовать коды заголовков, чтобы указать, что связанная страница не 404.