ASP.Net MVC - 捕获某些URL以执行301重定向

时间:2009-10-30 16:25:28

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

我正在从旧的网站设计转向使用新网址的新设计。

所有以前的页面名称都是名为PageXX.html,PageX.html,Index.html的静态文件 - 其中X是数字。

我的网站现在是动态的但我想陷阱那3个传入的网址,然后尝试重定向到某个新网页(301重定向),否则将它们发送到主页。

我是否在Global.asax中执行所有这些操作,或者我只是将这些Url陷入Global.asax,然后将其路由到Action并在Action中执行301重定向?

任何代码示例都会有很大帮助!

由于

编辑:我认为需要做的是在Global.asax中捕获路由,然后将它们发送到一个Action,它将找出发送用户的位置,即。我将发送到主页上的新网站上的类似页面。

2 个答案:

答案 0 :(得分:3)

这是正确的,只需在路由配置中执行(通常在global.asax中)。您可以将它们设置为静态特殊情况。

routes.MapRoute("Page3", 
            "SomeURL/Page3.html",
            new { 
                  controller = "SomeController",
                  action = "SomeAction",
                  page = "2"
                });

答案 1 :(得分:0)

对于PageXX.html,PageX.html,Index.html页面,您也可以进行基于正则表达式的匹配。这将允许您使用单个路径映射维护整个事物。