Просто определите пользовательский маршрут в application/config/routes.php
Что-то вроде вашего URL http://myecommsite.com/store/mens
$route['store/(:any)'] = "store/customfunction/$1";
Таким образом, все запросы будут сопоставлены с вашим методом «customfunction», который принимает параметр «mens»
Возможно, вы также захотите использовать функцию __ remap () , которая переопределяет методы (в отличие от маршрутизации, которая переопределяет весь URI). Цитирование из руководства:
Если ваш контроллер содержит функцию с именем __remap (), он всегда будет
вызывать независимо от того, что содержит ваш URI. Это отменяет
нормальное поведение, при котором URI определяет, какая функция вызывается,
позволяя вам определять свои собственные правила маршрутизации функций.
Таким образом, вы можете использовать функцию __remap () в вашем хранилище контроллеров, и все будет перенаправлено на это. Любые сегменты после имени метода передаются в __remap () в качестве второго параметра, и вы можете использовать этот массив с call_user_func_array () .
Это может пригодиться для ваших вторых примеров URI. Может быть что-то вроде
function __remap('mymethod',$array = array())
{
return call_user_func_array('mymethod',$array);
}
и в вашем методе "mymethod" вы выбираете элемент массива и делаете то, что вам нужно сделать