在asp.net 2005中进行301永久重定向

时间:2013-12-24 09:59:38

标签: c# asp.net redirect url-rewriting http-status-code-301

我正在使用asp.net 2.0(VS 2005)开发的asp.net应用程序。 在那个应用程序中,我有一个重写Urls的方法。我需要永久重定向某些网址。

我使用以下代码来执行此操作。 (在我的ApplicationBeginrequest方法中)

string newPath301 = "www.abcd.com/WebShop/Product.aspx?id=" + id + extraParameters;
app.Response.Clear();
app.Response.ClearHeaders();                            
app.Response.Status = "301 Moved Permanently";
app.Response.AddHeader("Location", newPath301);

但实际发生的事情是响应会转到类似

的位置
  

当前位置+“www.abcd.com/WebShop/Product.aspx?id=”+ id + extraParameters

我真的对此没有任何想法。想知道我是不是做得不好。 如果需要更多信息,请提及。

谢谢

1 个答案:

答案 0 :(得分:1)

http添加到新网址的前面。

如果没有协议,aspnet会认为您正在尝试重定向到当前域上的路径。