add a path cgi-bin to asp.net mvc

 

 1.简单,但是会丢失请求数据

  protected void Application_BeginRequest()

        {

            string url = HttpContext.Current.Request.Url.AbsoluteUri.ToString();

            if (url.ToLower().Contains("cgi-bin"))

            {

                HttpContext.Current.Response.Redirect(url.Replace("-",""));

            }

        }

 

 2.把请求数据转发到目标action

                url = HttpContext.Current.Request.Url.AbsolutePath.Replace("-", "");

                HttpContext context = System.Web.HttpContext.Current;

                if (HttpRuntime.UsingIntegratedPipeline)

                {

                    context.Server.TransferRequest(url, true);

                }

                else

                {

                    // Pre MVC 3

                    context.RewritePath(url, false);



                    IHttpHandler httpHandler = new MvcHttpHandler();

                    httpHandler.ProcessRequest(context);

                }

 

 

 

 

你可能感兴趣的:(asp.net)