在Url中保护更改Slug

时间:2016-02-15 06:43:18

标签: c# asp.net asp.net-mvc asp.net-mvc-4

我使用Asp.net Mvc 4.5.1和C#。

我想保护url slug,例如;

[host] / {controller} / {action} / {id} / {slug}(让我们假设模板是这样的。)

[主持人] /文章/细节/ 5 / Mvc-is-awesome (这是正确的网址)
但是用户可以将其作为一个例子; 的 [主机] /条/详情/ 5 / I-能 - 写 - 无论-I-想

所以我想保护slu ..当用户输入网址时;
[主持人] /条/详细信息/ 5 / I灿写什么,我想做
路由必须路由URL以纠正一个;
[主持人] /文章/细节/ 5 / Mvc-is-awesome(这是正确的网址)

我该怎么做?任何想法,最佳做法?

不是:我认为之前应该问过类似的问题,但我找不到它。

1 个答案:

答案 0 :(得分:1)

根据指定的 id slug ,您可以在控制器逻辑中获取正确的slug,如果

  

specified-slug!= correct-slug

你可以做到

  

返回RedirectToAction("文章","详细信息",新{id = id,slug = correct-slug});

在RouteConfig中,您还需要指定转换逻辑以获取所需的URL格式(通过解释 slug 参数)。