【问题标题】:ASP.Net MVC - Trapping certain URL's to do 301 RedirectASP.Net MVC - 捕获某些 URL 以执行 301 重定向
【发布时间】:2010-12-11 16:11:46
【问题描述】:

我正在从旧的网站设计转移到具有新 URL 的新设计。

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

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

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

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

谢谢

编辑:我认为需要做的是在 Global.asax 中捕获路由,然后将它们发送到一个 Action,该 Action 将确定将用户发送到哪里。新网站上的类似页面,否则我将发送到主页。

【问题讨论】:

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


    【解决方案1】:

    没错,只需在您的路由配置中进行(通常在 global.asax 中)。您可以将它们设置为静态特例。

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2011-04-29
        • 2011-06-25
        • 1970-01-01
        • 1970-01-01
        • 2011-05-27
        • 1970-01-01
        • 1970-01-01
        • 2011-01-14
        • 2022-01-01
        相关资源
        最近更新 更多