利用global.asaxapplication_BeginRequest 实现url 重写 无后缀

复制代码 代码如下:

<%@ Application Language=”C#” %>

<script RunAt=”server”>

void Application_BeginRequest(object sender, EventArgs e)

{

string oldUrl = System.Web.HttpContext.Current.Request.RawUrl; //获取初始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>

您可能感兴趣的文章:

  • asp.net 在global中拦截404错误的实现方法
  • Global.cs中自动获取未处理的异常
  • 在Global.asax文件里实现通用防SQL注入漏洞程序(适应于post/get请求)
  • Global.asax取绝对路径的方法
  • Global.asax取物理路径/取绝对路径具体方法
  • Global.asax的Application_Error实现错误记录/错误日志的代码
  • c#定时器和global实现自动job示例
  • ASP.net全局程序文件Global.asax用法分析
  • ASP.NET中Global和URLReWrite用法
  • 在C#中global关键字的作用及其用法
声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。