It is most likely because your hosting provider is not configured to handle extension less urls as ASP.NET pages.
For this you need to check if you can configure this with your hosting provider or as an alternative alter your routes so that you include the .aspx (which of course is configured to use ASP.NET) extension in your routes. This however makes "defaults" a little more tricky since you need to have explicit routes for all "levels", i.e.
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
Becomes
routes.MapRoute(
"MainActionId",
"{controller}/{action}/{id}.aspx",
new { controller = "Home" }
);
routes.MapRoute(
"MainAction",
"{controller}/{action}.aspx",
new { controller = "Home" }
);
routes.MapRoute(
"Main",
"{controller}.aspx",
new { controller = "Home", action = "Index" }
);