Ваше правило - отправлять все в / frontend / $ 1, что является глупой идеей.
Если вам нужно это сделать, сделайте следующее:
$route['(some_controller|other_controller)'] = '$1';
$route['(some_controller|other_controller)/(:any)'] = '$1/$2';
Делая это таким образом, вы по сути разрушаете автоматическую маршрутизацию CodeIginter, поскольку отправляете ВСЕ, НО определенные контроллеры на интерфейс.Чтобы узнать, как правильно создать административный бэкэнд, попробуйте эту статью:
http://philsturgeon.co.uk/news/2009/07/Create-an-Admin-panel-with-CodeIgniter