例如: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
}
}
{
//使用正则表达式判断格式; 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
}
}