Если вы хотите пойти по маршруту, вы должны составить маршрут для каждого имеющегося у вас контроллера, иначе у контроллера somepage
будет маршрут $route["somepage"] = "somepage";
, затем после всех из них (в самом низу маршрутов) , Маршруты работают путем нахождения первого подходящего регулярного выражения и последующего его использования, поэтому, чтобы все ваши контроллеры работали и перехватывали только обычный текст, вам необходимо каждое из этих правил.
Затем мы создаем правило «по умолчанию», оно будет работать для всего, что не попало в предыдущую проверку маршрута. Что-то вроде $route["(.*)"] = 'redirect/index/$1';
. Это перенаправит вас к контроллеру redirect
, причем первый сегмент URI (сегмент 3) будет sometext
в вашем примере выше. Обратите внимание, что это также будет работать для 404 страниц, оно будет работать для всего , которое не определено в вышеприведенных правилах.
Я не вижу в этом смысла, если бы я был на вашем месте, я бы просто отправил его на контроллер перенаправления, это сделало бы вещи немного менее грязными, но, конечно, есть способ, как показано выше.