url重写


  前两天做项目的时候,有地方需要用到静态页面,然后就顺便研究了一下url重写,人理解,url重写就是修改了地址栏的显示,隐藏了真正的跳转。废话不说了,下面是我使用的两种方法

  1、在global.asax文件中添加一个void ApplicationBeginRequest(..)方法,在这个方法里面,修改跳转路径。代码如下 

    void Application_BeginRequest(object sender, EventArgs e)
      {
        string url = Request.RawUrl;//请求的原始页面
        Regex reg = new Regex(@"wangzhangonggao/(\d+).html");
        Match match = reg.Match(url);
        if (match.Success)
          {
            string id = Regex.Match(url, @"\d").Value;
            string strPath = "/wangzhangonggao/newsDetail.htm";
            HttpContext.Current.RewritePath(strPath);//跳转到真实的页面
          }
      }

    在web.config中要记住在添加节点,说明文件格式的引用

2、利用UrlRewriter

  这个应该是常用的了,最重要的就是web.confg的配置。

   






~/wangzhangonggao/(\d+).html
~/wangzhangonggao/newsDetail.htm