BlogEngine UrlRewrite 的研究

by benben 5/19/2008 6:11:43 AM

BlogEngine采用httpModules的方式重写Url,在Web.config里的代码为:

   
    
      
    
对应的后台文件为:UrlRewrite.cs.我们这里增加一个Url重写,把/download/*.aspx重写到download.aspx?url=*。
过程如下:先增加一个重写的方法
    private static void RewriteDownload(HttpContext context)
      {
          string url = ExtractTitle(context); //获取Url中的*.aspx的*部分
          url = url.Replace("-", " ");   //将*中的“-”替换为空格
          if (url != null)
          {   //重写Url
              context.RewritePath(Utils.RelativeWebRoot + "download.aspx?url=" + url, false);
          }
      }    
然后在前面判断里加上处理"/Download/"的方法。
      else if (url.Contains("/DOWNLOAD/")) //注意这里的字母一定要大写
      {
          RewriteDownload(context);  //调用Url重写
      }
然后在根目录新建download WEB窗体,后台代码为
    protected void Page_Load(object sender, EventArgs e)
    {
        string url = Request["url"];
        Response.Write(url);
    }
}
重新编译下Core,在浏览器里输入http://[你的地址]/download/aa.aspx,如果不出意外,你会看到"aa"。提供全部文件下载 猛击下载BlogEngine.NET 1.3.1.zip
(必填)
(必填,不会被公开)
谢谢留言,如果留言不成功请联系ben#119797.com

Powered by BlogEngine.NET 苏ICP备08023017号


Recent comments

Author