私のサイト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();
}