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等。

301重定向在Global.asax文件中无法正常工作

您将Url设置为ToLower,但将其与大写字母的Url进行比较。

尝试将Url与之进行比较的字符串文字设置为小写字母:

Request.Url.ToString().ToLower().Contains("http://website.com/page.aspx?pageid=15")

使用一个else if而不是两个if条件。