Url重写

Global.asax  ( ASP.NET 或 HTTP 模块所引发的应用程序级别和会话级别事件的代码。继承于HttpApplication。)
HttpApplication.BeginRequest ( 该事件在 ASP.NET 响应请求时作为 HTTP 执行管线链中的第一个事件发生。 )
通过 HttpApplication.BeginRequest  事件 可以简单的实现 Url 重写。
在Global.asax中添加.
 
 
protected void Application_BeginRequest( object sender, EventArgs e)

{

             // 获取到原始请求链接.

             string oldUrl = HttpContext.Current.Request.RawUrl;

             /*

                      在这里根据需要情况加上需要重写。。。

             */

             /* 例子一

            // 获取到原始请求链接.
            string oldUrl = HttpContext.Current.Request.RawUrl;

            // 正则表达式获取请求的查询字符串
            string pattern = @"^(.+)default/(\d+)\.html(\?.*)*$";

            // 正则表达式替换地址和请求的查询字符串
            string replace = "$1default.aspx?id=$2";

            // 指示正则表达式中是否能找到匹配项
            if (Regex.IsMatch(
                oldUrl, pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled))
            {
                // 替换URL地址以便实现重写
               string newUrl = Regex.Replace(
                    oldUrl, pattern, replace, RegexOptions.Compiled | RegexOptions.IgnoreCase);
            }

             */

             /* 例子二

              ////将访问的html后缀全部修改成aspx

             string newUrl = oldUrl.Replace(".html", ".aspx");

             */

             // 指定内部重写路径,并允许请求的 URL 与资源的内部路径不同。

             this.Context.RewritePath(newUrl);

}

你可能感兴趣的:(职场,url重写,休闲)