让MVC忽略到站点根目录的路由

Joh*_*gue 9 asp.net-mvc asp.net-mvc-routing

我正在开发一个部分静态内容和部分MVC的网站.该站点的根目录是index.html,我显式路由了所有控制器,忽略了所有html文件.但是,当您点击网站的根目录时,它会尝试路由它.如何告诉路由引擎忽略站点的根目录?www.mysite.com不应该被路由,而是转到index.html.这是我的路由配置:

            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.IgnoreRoute("*.html|js|css|gif|jpg|jpeg|png|swf");

        routes.MapRoute(
            "vendor_signup","{vendor}/signup/{action}/",
            new { controller = "Signup", action = "Index", vendor=UrlParameter.Optional}  // Parameter defaults
        );
        routes.MapRoute(
            "signup","signup/{action}/",
            new { controller = "Signup", action = "Index", vendor=Vendors.PCICentral}  // Parameter defaults
        );
//more routes below
Run Code Online (Sandbox Code Playgroud)

Ren*_*ink 16

我相信你的意思是当有人访问/你的网站时,你不想使用MVC,而是显示静态页面.要实现这一点,您需要告诉MVC忽略该路由并让webforms处理它.然后,Webforms会/index.html在收到请求时向您显示/.

只需在路线开始之前添加:

routes.IgnoreRoute("");
Run Code Online (Sandbox Code Playgroud)


Joh*_*gue 3

其中一条路由仍在 {} 中,这使得它尝试解析根。