首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

Url重写

作者:  时间: 2011-05-22

例如:http://www.baidu.com/view.aspx?id=1  和http://www.baidu.com/view-1.aspx  访问的页面相同; 

只需要全局应用程序类的Application_BeginRequest中添加如下代码:

 protected void Application_BeginRequest(object sender, EventArgs e)
        {
            
//使用正则表达式判断格式; View-12.aspx
            Regex reg = new Regex(@".+View-(\d+).aspx");
            
//获取请求的路径进行匹配
            var match = reg.Match(Request.Url.AbsolutePath);
            
if (match.Success)  //如果匹配
            {
                
string id = match.Groups[1].Value;  //获取正则表达式中的第一个id
                HttpContext.Current.RewritePath("View.aspx?id=" + id);  //重写Url
            }
        }