【发布时间】:2023-03-10 20:20:01
【问题描述】:
我有一个类似的要求,在链接 Dots in URL causes 404 with ASP.NET mvc and IIS 中提到。我们的要求是,我们也确实有路径中带有点的 URL。例如,我可能有一个 URL,例如 www.example.com/people/michael.phhelps(这个例子取自上面的链接) 带有点的 URL 会生成 404。如果我们不带点通过,那么一切正常。如果我们添加点,我会收到 404 错误。
上面的链接为早期版本的 .net 提供了解决方案,我们可以在其中拥有 webconfig 文件。但我们正在使用 .net 核心来构建 Web API 应用程序。 Dotnet 核心不支持 webconfig 文件。有人可以建议我们如何使用 .net 核心来解决问题。
【问题讨论】:
-
分享您的路由配置方式。像
[HttpGet("/before.after")]这样的简单路由对我来说很好。 -
不要忘记像 www.example.com/people/michael.phelps/ 那样附加斜杠,它应该可以工作
-
我们使用属性路由。 before.after 对我们不起作用,因为我们不知道路径中有多少点。例如,dit.web.config
-
显示失败的属性路由示例?
-
这就是我们在 API 控制器中定义方法的方式 [Route("~/api/HierarchyProperty/store/{store}/hierarchy/{*hierarchy}")] [HttpGet] public Dictionary GetByName(string store, string hierarchy) { return this.hierRep.Get(store, hierarchy); }
标签: asp.net-core asp.net-core-webapi