详细参见: http://www.microsoft.com/china/msdn/library/webservices/asp.net/URLRewriting.mspx

最简单的实现,就是在 Global.asax.cs 中 Application_BeginRequest  或者是 Application_AuthenticateRequest 事件处理中,对请求的URL进行判断并进行重写:

protected void Application_BeginRequest(Object sender, EventArgs e)

        {

            HttpApplication app = (HttpApplication) sender;

            string requestedPath = app.Request.Path;

            string lookFor = @"^/webapptest/urlrewritetest/department/(\w+)\.aspx$";

            string sendTo = "/webapptest/urlrewritetest/webform2.aspx?dept=$1";

            Regex re = new Regex(lookFor, RegexOptions.IgnoreCase);

            if (re.IsMatch(requestedPath))

            {

                string sendToUrl = re.Replace(requestedPath, sendTo);

                app.Context.RewritePath(sendToUrl);

            }

        }

重写主要利用了 HttpContext.RewritePath 方法。

执行效果是将:

http://localhost/WebAppTest/URLRewriteTest/department/Finance.aspx

重写为:

http://localhost/WebAppTest/URLRewriteTest/WebForm2.aspx?Dept=Marketing

相关文章:

  • 2022-02-27
  • 2021-08-16
  • 2021-09-14
猜你喜欢
  • 2021-11-08
  • 2021-09-30
  • 2021-09-16
  • 2021-06-18
  • 2021-08-09
  • 2021-07-09
相关资源
相似解决方案