301重定向在Global.asax文件中无法正常工作
本文关键字:常工作 工作 重定向 Global asax 文件 | 更新日期: 2023-09-27 18:25:01
我在global.asax文件中定义了几个重定向。一个例子如下。
所有的重定向都能正常工作,但当我试图添加一个新的重定向时,这是下例中定义的第一个重定向,由于某种原因,它不起作用。
我在浏览器http://website.com/Page.aspx?PageId=15
中输入此作为示例url
//This doesn't work
if (HttpContext.Current.Request.Url.ToString().ToLower().Contains("http://website.com/Page.aspx?PageId=15"))
{
HttpContext.Current.Response.Status = "301 Moved Permanently";
HttpContext.Current.Response.AddHeader("Location", Request.Url.ToString().ToLower().Replace("http://website.com/Page.aspx?PageId=15", "http://website.com/contact.aspx?PageId=15&Language=en-US"));
}
//This work s
if (HttpContext.Current.Request.Url.ToString().ToLower().Contains("http://website.com/news"))
{
HttpContext.Current.Response.Status = "301 Moved Permanently";
HttpContext.Current.Response.AddHeader("Location", Request.Url.ToString().ToLower().Replace("http://website.com/news", "http://website.com/news.aspx?PageId=25&Language=en-US"));
}
其他url重定向正确,如http://website.com/news
http://website.com/about-us
等。
您将Url设置为ToLower,但将其与大写字母的Url进行比较。
尝试将Url与之进行比较的字符串文字设置为小写字母:
Request.Url.ToString().ToLower().Contains("http://website.com/page.aspx?pageid=15")
使用一个else if
而不是两个if
条件。