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

发布于 2024-08-09 00:48:17 字数 427 浏览 7 评论 0原文

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

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

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

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

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

谢谢

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

I am moving from an old site design to a new design with new URL's.

All previous page names were static files called PageXX.html, PageX.html, Index.html - where X is a number.

My site is now dynamic but I want to trap for those 3 incoming url's and then try and redirect to a certain new page (301 Redirect) else send them to the home page.

Do I do all of this in Global.asax or do I just trap those Url's in Global.asax and then route it to a Action and do a 301 Redirect in the Action?

Any code examples would help a lot!

Thanks

EDIT: I think what needs to be done is trap the routes in Global.asax and then send them to a Action which will work out where to send the user ie. a similar page on the new site else I will send to the home page.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

星軌x 2024-08-16 00:48:17

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

For PageXX.html, PageX.html, Index.html pages you can do regular expression based matching too. That will allow you to maintain the whole thing with a single route mapping.

囚你心 2024-08-16 00:48:17

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

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

That's right, just do it in your routes configuration (usually in global.asax). You can set these up as static special cases.

routes.MapRoute("Page3", 
            "SomeURL/Page3.html",
            new { 
                  controller = "SomeController",
                  action = "SomeAction",
                  page = "2"
                });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文