我使用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(这是正确的网址)
我该怎么做?任何想法,最佳做法?
不是:我认为之前应该问过类似的问题,但我找不到它。
答案 0 :(得分:1)
根据指定的 id 和 slug ,您可以在控制器逻辑中获取正确的slug,如果
specified-slug!= correct-slug
你可以做到
返回RedirectToAction("文章","详细信息",新{id = id,slug = correct-slug});
在RouteConfig中,您还需要指定转换逻辑以获取所需的URL格式(通过解释 slug 参数)。