ASP.NET 4 迁移到路由/映射
以前我使用 Rewriter.net 重写我的网址。我使用的格式如下:
<rewrite url="~/(.*)_p(\d+).aspx\??(.*)" to="~/product.aspx?pid=$2&$3"/>
因此页面 url 看起来像 ~/productname_p21.aspx ,带有可选的查询字符串。
我正在将应用程序升级到 ASP.NET 4,并且我想在 System.Web.Routing 中使用 URL 路由,这样我就可以摆脱第 3 方库 Rewriter.net。
我想出了这个:
RouteTable.Routes.MapPageRoute("product", "product/{name}/{pid}", "~/product.aspx");
这一切都很好,除了我想在旧式 URL 上放置 301 永久移动状态这一事实。如何使用 .NET 路由库来完成此任务?
谢谢
Previously I was using Rewriter.net to rewrite my urls. I used a format like:
<rewrite url="~/(.*)_p(\d+).aspx\??(.*)" to="~/product.aspx?pid=$2&$3"/>
So a page url would look like ~/productname_p21.aspx with an optional querystring.
I'm upgrading the application to ASP.NET 4 and I would like to use the URL routing in System.Web.Routing, so I can get rid of the 3rd party library Rewriter.net.
I came up with this:
RouteTable.Routes.MapPageRoute("product", "product/{name}/{pid}", "~/product.aspx");
That's all fine, except for the fact that I want to put a 301 permanently moved status on the old-style URL's. How can I accomplish this with the .NET Routing library?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
处理这种情况的可能方法:
使用路由和 Lambda 重定向路由和其他乐趣
ASP.NET MVC 技巧:路由引擎帮助 SEO/301 重定向/跟踪
A possible way of handling this situation:
Redirect Routes and other Fun With Routing And Lambdas
ASP.NET MVC tips: Routing Engine to aid SEO / 301 Redirect / Tracking