2011-08-25 158 views
0

我試圖實現301重定向用於URL重寫/ SEO優化的目的。我在我的VB.NET網站的模塊中執行這些重定向。301重定向使用響應頭無法正確重定向

當我在標題中指定一個新位置時,它總是將新位置附加到現有url上,而不是完全替換它或使用相對路徑。因此,而不是一個很好的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() 

沒有成功。我猜我做錯了,這很簡單。請幫忙!提前致謝。

回答

1

您是否在ASP.NET已經開始填充響應緩衝區後嘗試這樣做?嘗試先調用Response.Clear()。

+0

我會嘗試Response.Clear方法,看看是否有效。 – letsgetsilly

1

你發佈的代碼對我來說工作得很好。

您可以嘗試使用RedirectPermanent方法。

+0

這段代碼在他以前爲我工作過。我認爲差異可能是我在請求生命週期的早期階段在模塊中使用它,但我對請求生命週期並不熟悉,所以我不確定原因。感謝您的建議,但不幸的是,我只在.net 3.5上。 – letsgetsilly