MVC路由 - 将特定URI重新路由到另一个URI

时间:2015-10-13 17:41:11

标签: asp.net-mvc routes asp.net-mvc-routing

我们在Google地方信息中显示了一些链接,这些链接的格式不正确/旧格式。这些已在Google地方信息版方面得到修复。在这些变化传播之前,我正试图在其上加上一个乐队援助,并将破坏的URI重定向到好的URI。

我需要重新路由两个URI: 1. http://www.BusinessName/Locations/Location?name=Vegas和2. http://www.BusinessName/Locations/Vegas 并将它们发送到一个工作URI,  http://www.BusinessName/Locations/Location?name= Las Vegas(请注明其他名称)

回到ASP日,我刚刚做了一个response.redirect,但我知道这在MVC中是不行的。

我的RouteConfig.cs默认路由在下面,非常标准。 {name}参数是位置。

One
Two
Three
Four
Five
Six
Seven
Eight
Nine

Vectors
-------
[1,1,4,1]
[6,3,9,8,2]
[5,7,7,4,6,6]

LocationController还将处理格式http://www.BusinessName/Locations/Location?name=Vegas

我完全了解如何将路由格式更改为{controller},{id}​​,{action}之类的其他顺序,并且我已经构建了一些路由来获取某些静态内容,但我没有尝试过简单的重新路由" http://www.BusinessName/Locations/Location?name=Vegas"到" http://www.BusinessName/Locations/Location?name= Las Vegas"

2 个答案:

答案 0 :(得分:2)

我相信你在控制器内寻找的是Return RedirectToAction(...)

答案 1 :(得分:1)

处理此问题的最佳方法是在IIS级别。如果您还没有安装URL Rewrite Module,请安装,然后您可以设置从这两个网址到正确网址的永久重定向。然后,IIS将自动重定向,您的应用程序不必参与或关注。