Edito,
Si funciona, pero solo para dos niveles lógicamente, he tenido que hacer:
Código PHP:
$route["(:any)-(:any)"] = "$1_$2";
$route["(:any)-(:any)-(:any)"] = "$1_$2_$3";
$route["(:any)-(:any)-(:any)-(:any)"] = "$1_$2_$3_$4";
Pero se que no es la manera, debe de haber una expresión para reemplazar..
Un saludo!