Хороший пример реализации роутинга/чпу?
symfony.com/doc/current/book/routing.html — ознакомьтесь, возможно вам будет любопытно.

В любом случае, делать жесткую структуру ссылок нерентабельно. Лучше описывать правила маршрутизации хотя бы как в Yii (просто паттерны регулярных выражений).
Я в своей cms сделал достаточно просто и работает как часы.

Все примерно так:

При инициализации страницы дергается метод parseBaseURL() в нем вычленяются из $_SERVER[«REQUEST_URI»] базовые переменные. А базовые для движка такие /ru/section/document.html

То-есть определяется текущий язык, если не указан то по умолчанию берется, потом раздел, и документ если он есть.

Далее. Вот пример: посетитель зашел по урлу /news/ — это у нас раздел сайта. В нем дергается модуль. Все что будет далее строиться например /news/page-1/, /news/view-1/, /news/download/file.zip или как угодно и что угодно может быть в урле. Как я это все распознаю. Базовый разбор был еще при инициализации, далее как я сказал дергается раздел, а к нему прицеплен модуль. В модуле я могу задать любой шаблон для урла.

Например:

$u_goods->addURL("#/cat-(\d+)/?#i", «category»);//add cat
$u_goods->addURL("#/goods-(\d+)/?#i", «goods»);//add goods
$u_goods->addURL("#/page-(\d+)/?$#i", «p»);//add pages var

И все. Уже в классе становятся доступные переменные category, goods, p. И так далее.

Итого — урл может быть какой угодно, и всегда в модуле для любого угла можно задать свое правило.