【问题标题】:redirect non-www to www on Application_BeginRequest - facing loop在 Application_BeginRequest 上将非 www 重定向到 www - 面对循环
【发布时间】:2021-01-27 13:34:31
【问题描述】:

我尝试将非 www 重定向到 www:

protected void Application_BeginRequest(Object sender, EventArgs e)
 {   
   if (!Request.Url.Host.StartsWith("www"))
   {
       var path = Request.Url.Scheme+"://www." + Request.Url.Host + Request.Url.PathAndQuery;
      Response.Clear();
      Response.StatusCode = 301;
      Response.StatusDescription = "Moved Permanently";
      Response.AddHeader("Location", path);
      Response.End();
   }
 }

在请求http://TestDomain.com时,重定向到:

http://TestDomain.com/www.TestDomain.com/www.TestDomain.com/www.TestDomain.com/www.TestDomain.com/www.TestDomain.com/www.TestDomain.com/www.TestDomain.com/www.TestDomain.com/www.TestDomain.com/www.TestDomain.com/www.TestDomain.com/www.TestDomain.com/www.TestDomain.com/www.TestDomain.com/www.TestDomain.com/www.TestDomain.com

【问题讨论】:

    标签: asp.net asp.net-mvc vb.net redirect response


    【解决方案1】:

    我建议使用RedirectPermanent 并传递true 可选参数来终止请求。

    Response.RedirectPermanent(path, true);
    

    这个方法重载还提供了选项来指定是否 重定向完成后终止或完成响应 执行。

    【讨论】:

      猜你喜欢
      • 2015-10-12
      • 1970-01-01
      • 2015-10-09
      • 2018-06-06
      • 1970-01-01
      • 2014-05-12
      • 2021-05-07
      • 2015-02-16
      相关资源
      最近更新 更多