-2

次のコードがあります。

      if (Request.Url.AbsolutePath == "/Text12.aspx")

私がやりたいことは、httpを

    http://www.mysitename/Text12.aspx 

ユーザーが入力するかどうかに関係なく

    www.mysitename/Text12.aspx or 
    https://www.mysitename/Text12.aspx or 
    http://www.mysitename/Text12.aspx
4

1 に答える 1

0

回答を狙っています。ユーザーが常に http を使用するようにしたい場合。一部のアプリでは、次のコードを使用して https を強制しています。

protected void Application_BeginRequest(Object sender, EventArgs e)
{
    if (HttpContext.Current.Request.IsSecureConnection.Equals(false) && HttpContext.Current.Request.IsLocal.Equals(false))
    {
      Response.Redirect("https://" + Request.ServerVariables["HTTP_HOST"]
      + HttpContext.Current.Request.RawUrl);
    }
}

これは逆の方法でも機能するはずです。

protected void Application_BeginRequest(Object sender, EventArgs e)
{
    if (HttpContext.Current.Request.IsSecureConnection.Equals(true) && HttpContext.Current.Request.IsLocal.Equals(true))
    {
       Response.Redirect("http://" + Request.ServerVariables["HTTP_HOST"]
       + HttpContext.Current.Request.RawUrl);
    }
}

//編集: Islocal を true に設定したことに注意してください。したがって、これは、ローカルで呼び出された場合、または可能性の高いシナリオとして開発マシンで呼び出された場合にのみ起動します。ニーズに合わせるか、条件を完全に消去する必要があります。

于 2013-09-11T14:25:00.810 に答える