.net mvc 实现伪静态

mac2022-06-30  86

伪静态其实很简单  

主要是两部分 1-mvc路由配置 2-处理程序映射(.html文件的映射)

一、路由

    

       #region ==>官网伪静态 context.MapRoute( "Web_default_3", "Web/WebSite/{action}_{id}_{index}.html", new { action = "Index", controller = "WebSite", id = UrlParameter.Optional,index = UrlParameter.Optional } ); context.MapRoute( "Web_default_4", "Web/WebSite/{action}_{id}.html", new { action = "Index", controller = "WebSite", id = UrlParameter.Optional } ); context.MapRoute( "Web_default_2", "Web/WebSite/{action}.html", new { action = "Index", controller = "WebSite" } ); #endregion context.MapRoute( "Web_default", "Web/{controller}/{action}/{id}", new { action = "Index", id = UrlParameter.Optional } );

  

  路由映射是从上往下匹配  匹配到第一个就不会往下匹配。这边只配置WebSite目录下的页面 为伪静态

  这边配置的三个路由分别(1)列表页带分页的页面  (2)某个商品的详情页或者新闻的详情页 (3)不需要参数的页面

二、处理程序映射

有两种方式配置:

(1)Web.config直接配置

<add name="htmlHandler1" verb="GET,HEAD" path="/Web/Website/*.html" type="System.Web.StaticFileHandler"/> <add name="htmlHandler2" verb="GET,HEAD" path="/Web/Website/ShoesDetail/*.html" type="System.Web.StaticFileHandler"/>

在handlers模块新增  这边路径只匹配到对应的要生成的路径  

(2)IIS配置

两种方式效果是一样的

 

转载于:https://www.cnblogs.com/IamMars/p/7453091.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)