2016-05-03 55 views
1

我如何可以重定向舊的鏈接到新的鏈接中的MVC如何從舊鏈接新鏈接重定向MVC

在谷歌搜索結果谷歌緩存我的舊的URL如:www.abcd.com/product?id= 64 但我的新的URL現在如:www.abcd.com/product/sample

當在谷歌舊的鏈接用戶點擊導致它會重定向到我新的鏈接

我創造了我的項目在MVC 4

+1

如果鏈接仍然有效,那麼問題是什麼?你的RouteConfig中有什麼可以阻止舊的鏈接工作?聽起來像你想要一個** 302 **而不是400/500(500 is * not * Notfound,你的web.config將在未來引發問題)。你可以添加一個與'?id ='匹配的Route作爲一個文字,它會觸發一個返回重定向的動作。 –

回答

0

我假設你從不想要www.abcd.com/product?id = 64再次成爲正確的URL - 即這不是您的路由臨時更改。

的第一件事情是,你需要確保你的控制器的方法還是接受請求(即該路由配置仍然將請求路由到一個控制器的方法),但隨後而不是結尾的控制器方法:

return View(model); 

應該結束與:

return RedirectToActionPermanent("new action", "new controller"); 

顯然,不知爲何,你需要弄清楚在何處重定向到您的控制器方法。

還有RedirectPermanent和RedirectToRoutePermanent選項,並且在任何情況下,它都會導致瀏覽器擊中該URL以重定向到您想要的位置,並且還讓搜索爬蟲知道更新其表/結果。

你可以使用重定向與永久,但不會告訴搜索引擎更新任何東西。他們將繼續抓取舊網址。