使用 Kestrel 的 .net core 的 UrlRewrite 模块

问题描述 投票:0回答:1

我们正在将应用程序从 .net Framework 4.6 迁移到在 Kestrel 上运行的 .net core 6。在旧应用程序(在 IIS7 上运行)中,我们可以在 IIS 上安装 urlRewrite 模块,并使用服务器变量(例如 HTTP_HOST、PATH、REQUEST_URI、QUERY_STRING)编写各种重写和重定向规则。该模块提供了许多开箱即用的选项,因此可以轻松配置我们想要实现的特定规则。

我只是对如何在.net core 中实现如此复杂的规则感到困惑。所有文章都指向在代码中编写自定义规则,但这意味着重新投资!是否没有 nuget 包可以用来在 appsettings.json 文件中编写此类规则?有什么解决方案可以节省我数小时的编码时间(除了测试和错误修复时间)吗?

.net-core kestrel-http-server url-rewrite-module
1个回答
0
投票

您可以在 ASP.NET Core 中使用重写,就像在 program.cs 中一样:

var options = new RewriteOptions();
options.AddRewrite("test", "weatherforecast",true);
app.UseRewriter(options);

结果

这是官方实现:https://learn.microsoft.com/en-us/aspnet/core/fundamentals/url-rewriting?view=aspnetcore-8.0

© www.soinside.com 2019 - 2024. All rights reserved.