я бы взял фреймворк и сделал на нём
ну или почитал как устроен фреймворк и написал бы такое же у себя
роутер смотрит чё за урл, вызывает контроллер, контроллер читает файл вьюхи, подставляет туда данные - в виде php-переменных или используя шаблонизатор - и делает echo получившегося html наружу