当你浏览网站的时候,有没有注意到很多都以.html结尾。很多时候我们以为是静态的,其实很多都是伪静态。
那么什么是伪静态?其实本质还是动态网站,只不过对url进行了重写,添加了.html
当我们使用一个技术的时候往往思考为何要使用它,使用伪静态也不例外。为何要使用伪静态呢? 答:伪静态可以提高网站安全性,让别人不能一眼看出你的网站是什么语言开发的。
因为本人只学过.net,那么就以webform后缀为.aspx的网站和 MVC网站为例进行讲解。
1.webform实现伪静态
首先建立一个webform网站,然后我参考博客http://www.cnblogs.com/net-xiejun/p/4456044.html 中的第二种方法实现了下(PS:第一种方法配置总是提示节点错误,也没搞懂哪的事,先放放,有空再弄)。
添加一个ReWriteUrl.cs文件,代码如下:
public class ReWriteUrl : IRouteHandler { public string UrlRote { get; private set; } public ReWriteUrl (string sUrlRote) { UrlRote = sUrlRote; } public IHttpHandler GetHttpHandler(RequestContext requestContext) { return BuildManager.CreateInstanceFromVirtualPath(UrlRote, typeof(IHttpHandler)) as IHttpHandler; } }
在Global.asax.cs文件下的Application_Start函数里
protected void Application_Start(object sender, EventArgs e) { RouteTable.Routes.Add( new Route("xxxx.html", new ReWriteUrl("~/xxxx.ashx")));//地址重写 }
这里我这将Default.aspx重写了,看
RouteTable.Routes.Add(new Route("111.html", new ReWriteUrl("/Default.aspx")));//地址重写
这样用Default.aspx和111.html都能实现访问了,看
2.MVC实现伪静态
MVC就更简单了,只要修改路由配置就哦了~
这样访问action后面必须加.html喽,不然找不到哦~简而言之,路由器怎么配置,你就必须按照路由配置来进行访问!
这篇先说到这,下一篇会介绍Url重写参数(PS:重写参数对SEO优化起到很大作用哒~)
zj。。。
原文:http://www.cnblogs.com/shuai7boy/p/6235336.html