Global.asax的Application_BeginRequest实现url重写无后缀的代码

 更新时间:2013年08月14日 17:27:11   作者:  
本文为大家详细介绍下利用Global.asax的Application_BeginRequest 实现url重写其无后缀,具体核心代码如下,有需求的朋友可以参考下,希望对大家有所帮助
利用Global.asax的Application_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 MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统之前端页面框架构建源码分享

    ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统之前端页面

    这篇文章主要为大家分享了ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统之easyui前端页面框架构建源码,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • 浅谈对Lambda表达式的理解

    浅谈对Lambda表达式的理解

    “Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包(注意和数学传统意义上的不同)。
    2015-07-07
  • 使用AjaxPro.Net框架实现在客户端调用服务端的方法

    使用AjaxPro.Net框架实现在客户端调用服务端的方法

    AjaxPro.Net是一个优秀的.net环境下的Ajax框架,用法很简单,可以查阅相关资料,本文档是一个简单的实例讲述使用AjaxPro的几个关键点。
    2011-02-02
  • asp.net Accee数据库连接不稳定解决方案

    asp.net Accee数据库连接不稳定解决方案

    我最最进做了个网站,我是用VS2005 + Access 数据库连接,可以我在连接的时候总是出现连接不稳定的情况,同样的代码,一个字也没改,就是连接不上,但是有的又连接的上。真是郁闷,真是弄死人。
    2009-07-07
  • 封装的一个asp.net验证码类

    封装的一个asp.net验证码类

    昨天在一个Q群上面群主发了一个用ASP.NET实现验证码的demo,下载下来然后运行正常,页面上的img标签成功调用了一个一般处理程序并显示了中文的验证码图片,虽然有点模糊,但是可见上面是四个中文,图片背景为白色,背后有噪点线,边框黑色。
    2010-12-12
  • ASP.NET学习CORE中使用Cookie身份认证方法

    ASP.NET学习CORE中使用Cookie身份认证方法

    本篇文章主要给大家详细分析了ASP.NET学习CORE中使用Cookie身份认证方法以及相关的实例代码,有需要的朋友参考下吧。
    2018-01-01
  • .NET微信公众号 用户分组管理

    .NET微信公众号 用户分组管理

    这篇文章主要介绍了.NET微信公众号 用户分组管理,web页面设计,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • asp.net采集页面上所有图像图片资源的具体方法

    asp.net采集页面上所有图像图片资源的具体方法

    这篇文章主要为大家详细介绍了asp.net采集页面上所有图像资源的具体方法,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • .net 应对网站访问压力的方案总结

    .net 应对网站访问压力的方案总结

    本文将总结下一些应对网站访问压力的技术方案。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • asp.net Http异常eurl.axd出错信息解决方法

    asp.net Http异常eurl.axd出错信息解决方法

    在IIS6中同时启用了ASP.NET 2.0 和 ASP.NET 4.0 后,网站程序可能会出现如下错误:“ System.Web.HttpException: Path ‘//eurl.axd/‘ was not found. ”
    2011-08-08

最新评论