使用Global.asax实现ASP.Net的URL重写
2010-06-22 13:37
393 查看
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;
}
在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;
}
相关文章推荐
- 使用Global.asax实现ASP.Net的URL重写
- Servlet实现asp.net中的Global.asax启动事件(Servlet和Listener使用)
- 基于Global.asax实现显示当前在线人数--ASP.NET基础
- 使用ASP.NET Global.asax 文件
- 使用ASP.NET Global.asax 文件(转)
- 使用ASP.NET Global.asax 文件(目前未用到,搜东西时发现的,感觉以后会用的)
- 使用ASP.NET Global.asax 文件<转载>
- 使用ASP.NET Global.asax 文件
- ASP.NET MVC URL重写与优化(初级篇)-使用Global路由表定制URL
- 使用ASP.NET Global.asax 文件
- Asp.net中Global.asax 的使用和事件
- 在ASP.NET中重写URL 方法四:在IIS5和IIS6中使用 ISAPIRewrite 来实现无扩展名的URL重写
- 使用ASP.NET Global.asax 文件
- 使用ASP.NET Global.asax 文件
- ASP.NET MVC URL重写与优化(初级篇)-使用Global路由表定制URL
- 使用ASP.NET Global.asax 文件
- 使用ASP.NET Global.asax 文件
- 使用ASP.NET Global.asax 文件
- 使用ASP.NET Global.asax 文件
- ASP.NET MVC URL重写与优化(1)-使用Global路由表定制URL