ASP.NET MVC路由/ SEO友好URL

Mua*_*Dib 9 c# asp.net-mvc seo url-routing

我正在尝试做stackoverflow之类的事情

从stackoverflow获取一个链接,例如:

C#的隐藏功能?

如果删除最后一部分(C#的隐藏功能?),它仍会返回相同的结果.

对于我在Global.asax中的路由,我尝试过做"{action}/{id}/{title}"之类的操作

在我的页面上,这是我的链接:

<%= Html.ActionLink(video.Title, "Details", "Videos", new {id = video.ID, title = video.Title.Replace(" ", "-")}, null) %>
Run Code Online (Sandbox Code Playgroud)

除了在id之后输入" ?title = blah-blah-blah " 之外,这就是我希望它在大多数情况下做的事情.

我想说" id/blah-blah-blah "

我的问题是什么?(除了是菜鸟)

myn*_*fey 9

我前一段时间写了一篇博文,认为它可能会有所帮助:

http://mynameiscoffey.com/2010/12/19/seo-friendly-urls-in-asp-net-mvc/

基本上,当您的操作执行时,您需要检查您的操作是否存在正确的SEO友好标题,如果找不到它,请向浏览器发出重定向到正确的SEO友好URL.


ste*_*son 5

该路径看起来应该与ActionLink的调用一起工作,所以这是一个猜测.您是否在默认路线后注册"{action}/{id}/{title}"路线?如果是这样,默认路由将首先匹配,并将标题值放在查询字符串中,因为它不会出现在路径中.如果您在{controller}/{action}/{id}默认值之前注册自定义路由,它应该可以正常工作.