Стандартные модули Http работают просто отлично.
Вы также можете добавить свой собственный IRouteHandler и, в частности, зарегистрировать маршруты с ним (или перехватить текущие определения маршрутов и заменить их вашим обработчиком маршрутов).
Это должно дать вам необходимую гибкость.