我被要求设置路由,以便下一条路由工作
https://<server>/<weapp>/<paramater>
我已经使用默认控制器和操作,此路由按预期工作
https://<server>/<weapp>/?param1=<paramater>
但是我的客户希望我摆脱?param1=
并且只通过在网址末尾设置参数来按预期工作
我看过这项工作,但我无法找到如何配置以及搜索它的原因。我的google fu在这个上很弱
答案 0 :(得分:1)
所以,在更多隐藏在更加模糊的google fu调查结果之后,我终于找到了答案
我确实已经设置了一条路线,在我看来,应该足以满足我的客户需求
routes.MapRoute(
name: "Shortener",
url: "{id}",
defaults: new { controller = "<controller>", action = "<action>", id = UrlParameter.Optional }//new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
但是我总是按照我的路线图设置新的路线图。我发现这一点in this article给了我一些新的启示,我之前读过的关于此事的文章从未提及,甚至没有提到MSDN
设计路线时要记住的一件事是订单 其中路由添加到表中的事项很重要。路由引擎 将采用与提供的URL匹配的第一个路由并尝试 使用该路线中的路线值。因此,不太常见或更多 专业路线应首先添加到表中,同时更多 一般路线应该在以后添加。
因此,在我的路由配置设置在所有其他路由配置的顶部之后,url
https://<server>/<weapp>/<paramater>
像魅力一样工作!
希望这有助于其他任何人!