gpt4 book ai didi

ASP.NET Core URL 重写

转载 作者:可可西里 更新时间:2023-11-01 15:27:15 27 4
gpt4 key购买 nike

我正在尝试将我的网站从 www 重定向到非 www 规则,以及在中间件中将 http 重定向到 https ( https://example.com )。我曾经在 web.config 中进行这些重定向更改,例如:

 <rewrite>
<rules>
<clear />
<rule name="Redirect to https" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
</rule>
<rule name="Redirects to www.domain.com" patternSyntax="ECMAScript"
stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="^example.com$" />
</conditions>
<action type="Redirect" url="https://www.example.com/{R:0}" />
</rule>

我是 asp.net core 的新手,想知道如何在我的中间件中进行这些重定向?我读了这篇文章:https://learn.microsoft.com/en-us/aspnet/core/fundamentals/url-rewriting但它并没有帮助我强制将我的 www 重定向到非 www。

最佳答案

安装以下 NuGet 包:

Microsoft.AspNetCore.Rewrite

添加以下行:

app.UseCustomRewriter();

在:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)

在调用 .UseMvc 方法之前。

并将以下扩展类添加到您的项目中:

public static class ApplicationBuilderExtensions
{
public static IApplicationBuilder UseCustomRewriter(this IApplicationBuilder app)
{
var options = new RewriteOptions()
.AddRedirectToHttpsPermanent()
.AddPermanentRedirect("(.*)/$", "$1");

return app.UseRewriter(options);
}
}

在 RewriteOptions 中,您可以提供重写配置。

哎呀,这会帮助你。

最好的问候,科林

关于ASP.NET Core URL 重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43413226/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com