摘要
从页面Url及页面名称上看,你会发现静态页面和伪静态是一样的。伪静态的页面后缀可能是html,htm,cshtml等,只是改变了url的表现形式,实际上还是动态的页面。在SEO方面,伪静态和静态页面的功能是相同,但伪静态本质上还是动态页面,不会像静态页面那样占用服务器空间资源。
UrlRewrite
这里通过Url重写的方式实现伪静态。
首先通过Nuget安装UrlRewrite包。
修改web.config,添加如下内容
添加的内容如下:
然后,在路由配置中,将html的路由配置上。
public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Index.html", url: "{controller}/{action}.html", defaults: new { controller = "Home", action = "Index" } ); routes.MapRoute( name: "Index", url: "{controller}/{action}", defaults: new { controller = "Home", action = "Index" } ); } }
到这里已经结束了,我们可以通过Home/index或者home/index.html两种方式访问首页。
浏览
总结
看到伪静态页面和动态页面实际上是一样的。但*.html的物理文件在服务器上是不存在的。