301使用响应标头重定向无法正确重定向

时间:2011-08-25 21:42:37

标签: asp.net url-routing http-status-code-301 response-headers

我正在尝试实施301重定向以进行网址重写/ SEO优化。我正在我的VB.NET网站的模块中执行这些重定向。

当我在标题中指定新位置时,它总是将新位置附加到现有网址上,而不是完全替换它或使用相对路径。因此,我得到两者的组合而不是一个好的URL:

http://site.com/productList.aspx?id=123&fid=123&mid=123http://site.com/store/books/

以下是我用于重定向的代码:

httpContext.Response.Status = "301 Moved Permanently"
httpContext.Response.AddHeader("Location", "http://site.com/store/books")
httpContext.Response.End()

我试图使用相对〜/路径但没有成功。我猜我做错了很简单。请帮忙!提前谢谢。

2 个答案:

答案 0 :(得分:1)

你发布的代码对我来说很好。

您可以尝试使用RedirectPermanent方法。

答案 1 :(得分:1)

在ASP.NET已经开始填充响应缓冲区之后,您是否尝试这样做?首先尝试调用Response.Clear()。