URL重写也就是让动态页面伪装成“静态页面”,一方面可以隐藏真实的页面文件地址,另一方面对被搜索引擎的也有好处。(在不支持URLWRITE.NET组件的空间里面这是最好的方法)
在ASP.NET中,使用Global.asax可以轻易的实现这个目的,原理简单,具体的代码一看便知:
- protected void Application_BeginRequest(Object sender, EventArgs e)
- {
- //article_detail.aspx?id=1 TO article_1.aspx
- string oldString = @"(.*)/article_(\d+)\.aspx";
- string newString = @"article_detail.aspx?id=$2";
- System.Text.RegularExpressions.Regex oReg = new System.Text.RegularExpressions.Regex(oldString);
- if(oReg.IsMatch(Request.Url.ToString()))
- {
- string ReWriteUrl = oReg.Replace(Request.Url.ToString(),newString);
- HttpContext.Current.RewritePath(ReWriteUrl);
- }
- oReg = null;
- }