mvc 路由伪静态实现

  1. 云栖社区>
  2. 博客>
  3. 正文

mvc 路由伪静态实现

潇洒先 2017-01-21 12:18:00 浏览401
展开阅读全文

很多网站都采用伪静态,例如以html、shtml等结尾的url,mvc的路由可以轻松实现。

配置路由

20170117101558.png

默认路由配置

20170117101734.png

添加伪静态路由

mvc的路由原理是从上往下匹配的,所以只需要在后面添加自己配置的路由即可

 public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default1",
                url: "{controller}/{action}/{id}/{page}.html",
                defaults: new { controller = "Home", action = "Index" }
            );

            routes.MapRoute(
                 name: "Default2",
                 url: "{controller}/{action}.html",
                 defaults: new { controller = "Home", action = "Index" }
             );

            routes.MapRoute(
                name: "Default3",
                url: "{controller}/{action}/{id}.html",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }

修改web.config配置

添加完后并不能够映射路由,需要配置下web.config

20170117102338.png

 <system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
 </system.webServer>

配置完后即可通过你自己配置的url访问您的网站了

网友评论

登录后评论
0/500
评论
潇洒先
+ 关注