Как сказал Франсуа, вам нужно будет создать маршрут для каждой категории. Это можно немного упростить с помощью простого массива, как показано ниже:
$categories = array('cat1','cat2','etc...');
foreach($categories as $cat)
{
$routes["$cat/(:any)"] = "category/$cat/\$1"
}
Возможной альтернативой является использование ловушки предварительного контроллера, в которой вы можете запросить базу данных, чтобы увидеть, является ли сегмент категорией, и затем соответствующим образом направить запрос.
Если у вас будет много категорий или они будут добавляться и часто обновляться, я бы порекомендовал второй вариант, в противном случае поддержание простого массива не так уж и плохо.