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