[英]ASP.NET Core URL Rewriting
我正在嘗試將我的網站從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核心的新手,想知道如何在我的中間件中進行這些重定向? 我讀了這篇文章: https : //docs.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中,您可以提供重寫配置。
籃球這將幫助你。
最好的問候,科林
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.