MapRoute index.asp 没有路由到控制器

MapRoute index.asp not routing to controller

我有以下 MapRoute 可以工作并路由到控制器 'Hotel'

 routes.MapRoute("Hotel", "en/hotels/london/victoria/my_hotel_name/", 
            new { controller = "Hotel", action = "Index" }, namespaces: new[] { "UrlRouter.Router.Controllers" } );

但是,如果用户在路径中输入文件名 index.asp,它不会路由到控制器,只会加载 .ASP 文件中的实际内容,这是我不这样做的不想。我希望它路由到控制器,这样我就可以控制返回给用户的内容。

我试过的路线是

routes.MapRoute("Hotel", "en/hotels/london/victoria/my_hotel_name/index.asp", 
            new { controller = "Hotel", action = "Index" }, namespaces: new[] { "UrlRouter.Router.Controllers" } );

经过进一步调查,我发现了以下作品。添加 web.config

 <modules>
  <remove name="UrlRoutingModule-4.0" />
  <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />

然后在注册路由

    public static void RegisterRoutes(RouteCollection routes)
    {

        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.RouteExistingFiles = true;

        routes.MapRoute("Hotel", "en/hotels/london/victoria/my_hotel_name/{*.*}",
            new { controller = "Hotel", action = "Index", }, namespaces: new[] { "UrlRouter.Router.Controllers" });
     }

这允许我将这两个 URL 路由到我的酒店控制器和 return MVC 视图

www.mydomain.com/en/hotels/london/victoria/my_hotel_name/

www.mydomain.com/en/hotels/london/victoria/my_hotel_name/index.asp

如果有人有更好的建议请post您的回答。