从页面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的物理文件在服务器上是不存在的。



