0

私のサイトwww.skinb5.comがwww.skinb5.com/au/にリダイレクトする必要があるこのシナリオがあります

および www.skinb5.com/au は、www.skinb5.com/au および www.skinb5.com/us に直接アクセスする必要があります。

www.skinb5.com/us にアクセスしてください。

www.skinb5.com は、リダイレクトする以外はほとんど何もしない親サイトです。/au/ と /us/ はその下にある子サイトです。

唯一のリダイレクトが発生する親サイトの Global.asax ファイルを見てください。

問題は、www.skinb5.com/us/ に行くと 200 が返されることです。しかし

www.skinb5.com/au/ www.skinb5.com/au/ に 302 を返します。無限ループにはなっていないのですが、なぜ 302 を返すのか気になります。

ここでテストすることをお勧めします http://www.internetofficer.com/seo-tool/redirect-check/

私の質問は、www.skinb5.com/au/ を直接呼び出すと、親サイトの application_beginRequest が呼び出されるかどうかです。子サイトに直接行くべきではありませんか?その場合、302 リダイレクトはどのように行われますか。

protected void Application_BeginRequest(object sender, EventArgs e)
    {
        var redirectSite = "au";
        HttpCookie languageCookie = HttpContext.Current.Request.Cookies.Get("Customer.SelectLanguageID");
        if (languageCookie != null)
        {
            redirectSite = languageCookie.Value.Split('-')[1];

        }

        string rawUrl = HttpContext.Current.Request.RawUrl;
        if (string.IsNullOrEmpty(rawUrl))
        {
            rawUrl = "/";
        }

        rawUrl = redirectSite + rawUrl;
        bool useSsl = IsCurrentConnectionSecured();
        var storeHost = GetStoreHost(useSsl);
        if (storeHost.EndsWith("/"))
            storeHost = storeHost.Substring(0, storeHost.Length - 1);
        string url = storeHost + '/' + rawUrl;
        url = url.ToLowerInvariant();
        HttpContext.Current.Response.Redirect(url, true);
        HttpContext.Current.Response.End();


    }
4

1 に答える 1