通过UrlRewriter在MVC4中配置伪静态在网上都有很多资料,本篇博客主要是把项目中使用到的通过UrlRewriter配置伪静态提取出来,方便自己以后查看,同样对需要该功能的网友提供思路。
第一:下载UrlRewriter.dll文件,并引用到项目中
第二:配置Web.config
依次在下面节点中添加UrlRewriter相关的子节点
[html] view plain copy<configSections> <section name="CustomConfiguration" type="URLRewriter.Config.UrlsSection, URLRewriter"/> </configSections> [html] view plain copy<system.web> <httpModules> <add type="URLRewriter.RewriterModule, URLRewriter" name="RewriterModule"/> </httpModules> </system.web> [html] view plain copy<system.webServer> <modules runAllManagedModulesForAllRequests="true"> <add name="URLRewriter" type="URLRewriter.RewriterModule" PReCondition="managedHandler"/> </modules> </system.webServer> 第三:配置RouteConfig.cs[csharp] view plain copypublic static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Action1Html", // action伪静态 "{controller}/{action}.html",// 带有参数的 URL new { controller = "Home", action = "Index", id = UrlParameter.Optional }// 参数默认值 ); routes.MapRoute( "IDHTML", // id伪静态 "{controller}/{action}/{id}.html",// 带有参数的 URL new { controller = "Home", action = "Index", id = UrlParameter.Optional }// 参数默认值 ); routes.MapRoute( "ActionHtml", // action伪静态 "{controller}/{action}.html/{id}",// 带有参数的 URL new { controller = "Home", action = "Index", id = UrlParameter.Optional }// 参数默认值 ); routes.MapRoute( "ControllerHtml", // controller伪静态 "{controller}.html/{action}/{id}",// 带有参数的 URL new { controller = "Home", action = "Index", id = UrlParameter.Optional }// 参数默认值 ); routes.MapRoute( "Root", "", 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 } ); } }第四:配置IIS
配置完Web.config,基本就可以直接访问地址了,如果是发布到IIS7还是要进行配置,具体配置查看如下地址:
http://www.cnblogs.com/zhongweiv/archive/2011/10/29/UrlRewriter_IIS.html
新闻热点
疑难解答