/// <summary>
/// 请求管道事件中第一个事件触发以后调用的方法,完成URL重写
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Application_BeginRequest(object sender, EventArgs e)
{
//BookDetail.aspx?id=2; BookDetail_2.aspx
//为什么将带参数的URL地址改成不带参数的?URL重写的目的就是SEO。
//SEO.
//怎样进行URL重写?
string url = HttpContext.Current.Request.RawUrl;//获得当前请求的路径
//定义一个正则表达式
Regex reg = new Regex(@"/BookDetail_(\d+).aspx");
//判断是否匹配
if (reg.IsMatch(url))
{
string newurl = reg.Replace(url, "/BookDetail.aspx?id=$1");//$1占位符替换(\d+)
HttpContext.Current.RewritePath(newurl);
}
}
asp.net(url重写)
最新推荐文章于 2024-05-20 12:28:25 发布