2015-10-13 127 views
0

我們有幾個鏈接顯示在谷歌地方有一個不正確的/舊的格式。這些正在固定在Google地方一側。在這些變化傳播之前,我試圖在其上添加樂隊幫助,並將破壞的URI重定向到好的URI。MVC路由 - 重新路由到另一個URI的特定URI

我需要重新路由兩個URI: 1. http://www.BusinessName/Locations/Location?name=Vegas和2 http://www.BusinessName/Locations/Vegas 並將它們發送到一個單一的,工作URI, http://www.BusinessName/Locations/Location?name=拉斯維加斯拉斯維加斯(注意不同的名字)

早在ASP天我會做一個response.redirect,但我知道這是一個不在MVC。

我的RouteConfig.cs默認路由低於標準。 {name}參數是位置。

routes.MapRoute(
      "LocationDetail", 
      "Locations/{name}", 
      new { controller = "Location", action = "Location" }); 

LocationController還將處理格式http://www.BusinessName/Locations/Location?name=Vegas

我完全瞭解如何將路由格式更改爲{controller},{id}​​,{action}等不同的順序,並且我已經構建了一些路徑以轉到某些靜態內容,但我沒有嘗試了簡單地重新路由「http://www.BusinessName/Locations/Location?name=Vegas」到「http://www.BusinessName/Locations/Location?name=拉斯維加斯拉斯維加斯」

+1

我相信你要找的是你的控制器裏面的'Return RedirectToAction(...)'。 –

+0

@JohnieKarr - 這很簡單,爲我工作。添加爲答案,我會接受。謝謝。 – FreeMars

+0

我很高興它有幫助。我已經發布它作爲答案。 –

回答

2

我相信你正在尋找的是你的控制器內的Return RedirectToAction(...)

1

處理此問題的最佳方法是在IIS級別。如果您尚未安裝,請安裝URL Rewrite Module,然後您可以將這兩個URL永久重定向到正確的URL。然後,IIS將自動重定向,並且您的應用程序不必涉及或關心。

+0

我給了這個嘗試,我可以看到它對我想要處理的事情有點複雜。 – FreeMars