То, как я лично это делаю, это использовать
Application_BeginRequest в
открытый класс Global: System.Web.HttpApplication
и проанализировать URL с помощью Regex или чего-то еще, а затем использовать
HttpContext.Current.RewritePath
чтобы обслуживать правильную страницу без перенаправления.
Есть и другие способы сделать это, но это мое предпочтение, и его легко реализовать.