StackOverflow像路由重定向
本文关键字:重定向 路由 StackOverflow | 更新日期: 2023-09-27 18:14:33
我正在创建一个网站,它的路由与SO非常相似,因为它们是:
posts/{id}/{title}
我想复制的功能,其中对于任何给定的路由X
任何以/posts/{id}
开头且标题不正确的内容,将被重定向到/posts/{id}/{title}
在控制器中这样做似乎很尴尬,但在路由级别这样做似乎更糟糕。
我想控制器是可行的。
public ActionResult Display(long id, string title)
{
// try and find post
// if post is null, error
// if post.title != title, permanent redirect to correct title
if (title != "correct-ness-ly")
{
return RedirectToActionPermanent("Display", new { id, title = "correct-ness-ly" });
}
// permanent redirect if name doesn't match
return new ContentResult { Content = "display post-id : {0}, {1}".FormatWith(id, title) }; // found or not
}
有没有更"干净"的方法来完成这个?
Update我刚刚意识到这让我"失去"任何可能存在的查询字符串值。除了必须声明性地传递每个操作参数之外。
您没有指定使用的IIS版本。但是对于7+,你可以使用重定向模块。
对于IIS 6,有几个第三方URL重定向模块可以使用