Global.asax's Application_BeginRequest implementation url override suffix less code

  • 2020-06-19 10:04:55
  • OfStack

url rewrite without suffix is realized by Application_BeginRequest of ES0en. asax
 
<%@ Application Language="C#" %> 

<script RunAt="server"> 
void Application_BeginRequest(object sender, EventArgs e) 
{ 
string oldUrl = System.Web.HttpContext.Current.Request.RawUrl; // To obtain the initial url 

//~/123.aspx  -  ~/Index.aspx?id=123 
Regex reg = new Regex(@"^\/\d+\.html"); 
if (reg.IsMatch(oldUrl)) 
{ 
string id = reg.Match(oldUrl).ToString().Substring(1, reg.Match(oldUrl).ToString().LastIndexOf(".") - 1); 
Context.RewritePath("~/Index.aspx?id=" + id); 
} 

//~/123  -  ~/Index.aspx?id=123 
Regex reg1 = new Regex(@"^\/\d+$"); 
if (reg1.IsMatch(oldUrl)) 
{ 
string id = reg1.Match(oldUrl).ToString().Substring(1); 
Context.RewritePath("~/Index.aspx?id=" + id); 
} 

//~/index/123  -  ~/Index.aspx?id=123 
Regex reg3 = new Regex(@"^\/index\/\d+$"); 
if (reg3.IsMatch(oldUrl)) 
{ 
string id = reg3.Match(oldUrl).ToString().Substring(7); 
Context.RewritePath("~/Index.aspx?id=" + id); 
} 
} 

</script> 

Related articles: