我有这个senario,我的网站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/它返回302到www.skinb5.com/au/。虽然它没有进入无限循环,但我担心它为什么会返回302.
您可能希望在此处http://www.internetofficer.com/seo-tool/redirect-check/
进行测试我的问题是,当我直接调用www.skinb5.com/au/时,是否会调用parentite中的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();
}
答案 0 :(得分:0)
重定向告诉浏览器加载不同的URL。浏览器就像在地址栏中输入新URL一样。这是一个像其他任何请求。
因此,所有请求和重定向都会导致Application_BeginRequest()
触发。
如果您不希望它对重定向的请求执行任何操作,则需要测试目标URL并确定是否要采取任何操作。