Вы сами писали код? Если да, то сами должны разобраться. А если нет, то нам нужно понять как у вас вообще устроена система. Кто инициализирует нужные контроллеры? Используете ли вы Router?
Я бы сделал так
Router::get("/{$params}", function(){
\Controller\News::init();
});
В самом классе News::init() проверяем $params. Если там ничего нету - News::indexAction();. Если есть, News::getActionByUri($params), и делаем запрос в базу вроде SELECT * FROM news WHERE uri = $params.
Естественно, фильтруйте запросы в базу.
P.S. Сам новичок, поэтому на приз за лучшую реализацию не претендую, но исходя из своих собственных знаний на данный момент - делал бы это как-то так.
UPD: у меня в вопросах есть тема про Router vs FrontController. Там есть касательно роутинга немного, вдруг что-то подчерпнёте.