Если вы по какой-то причине не хотите использовать маршруты, вы можете добавить эту функцию к соответствующему контроллеру.
public function _remap($method_in, $params = array()) {
$method = 'process_'.$method_in;
if (method_exists($this, $method)) {
return call_user_func_array(array($this, $method), $params);
}
array_unshift($params, $method_in);
$this->index($params);
}
По сути, он делает то же самое, что и поведение по умолчанию в CI, за исключением того, что вместо отправки 404 в 'cant find method' он отправляет необоснованные вызовы методов для индекса.
Вам нужно изменить свою индексную функцию, чтобы в качестве первого аргумента принять массив.
ИЛИ, если вы знаете, что вам нужны только 2 аргумента, вы можете изменить последние 2 строки на
$this->index($method_in, $params[0]);
Конечно, оба решения терпят неудачу, кто-то использует аргумент, который совпадает с методом в вашем контроллере.