首页 > Web开发 > 详细

Url重写——伪静态实现

时间:2016-12-30 01:38:59      阅读:287      评论:0      收藏:0      [点我收藏+]

当你浏览网站的时候,有没有注意到很多都以.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;
        }
    }
View Code

在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。。。 

Url重写——伪静态实现

原文:http://www.cnblogs.com/shuai7boy/p/6235336.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!