3

我是ASP.Net 4.0的新手,並且看到一個名爲Response.RedirectPermanent()的新功能。我查了一些文章,但我無法清楚地瞭解Response.RedirectPermanent()的實際含義和差異,而不是Response.Redirect()Response.Redirect()vs Response.RedirectPermanent()

Gunnar Peipman

Response.Redirect()返回302到瀏覽器,意味着要求的資源被臨時轉移到其他位置。 Permanent redirect意味着瀏覽器從服務器獲取301作爲響應。在這種情況下,瀏覽器不再向舊URL請求相同的資源 - 它使用Location標頭給出的URL。

爲什麼我需要檢查服務器響應,如301,302?它如何永久性地將頁面重定向到服務器?

回答

8

301響應(RedirectPermanent)對於SEO目的非常有用。例如,您在ASP.NET WebForms中實現了一個站點,並使用ASP.NET MVC進行了重新設計。您希望通知搜索引擎該頁/Catalog/ProductName.aspx變爲/ products/product-name。然後,您將301從/Catalog/ProductName.aspx重定向到/ products/product-name,搜索引擎索引中的鏈接將被替換。 302(重定向)主要用於內部目的。例如,登錄後的重定向(如果returnUrl在URL中設置)。

+0

哪一個更好用? – 2013-12-03 12:17:48

+3

取決於情況。重定向301更適合用於SEO目的。當你需要告訴搜索引擎一些頁面被移動到另一個位置時。重定向302更適合應用程序流。例如,登錄頁面可能會重定向到它從其啓動的頁面。 – Stan 2013-12-04 11:45:43

+0

好的,謝謝 – 2013-12-04 11:50:38