Question: I want to have a route that looks something like: www.abc.com/companyName/Controller/Action/Id
However, all the company names need to map to the same "base" controllers, regardles of what the name is. I only need the companyName for authentication purposes.

Also, if there's no companyName provided, I need to map to a different set of controllers altogether.

How do I do this? I'd also appreciate a good routing resource so I don't have to ask questions like this.

Answer: 
In case if you wish to Resolve the errors caused due to routing . i suggest the following tool , which i found to be extremely useful.

[Route Debugger](http://haacked.com/archive/0001/01/01/url-routing-debugger.aspx)
Go to Global.asax.cs, and add the following route in the RegisterRoutes() method before the "Default" route:

```
routes.MapRoute(
    "Vanity",                                              // Route name
    "{company}/{controller}/{action}/{id}",                           // URL with parameters
    new { company = "", controller = "Home", action = "Index", id = "" }  // Parameter defaults
);

```