在
据我所知,我必须使用Rewriter来设置
我只是想确保我正确地重定向到Https,并与Www重定向一起使用。
Startup.cs
文件中,请考虑以下内容:public void ConfigureServices(IServiceCollection services)
{
// Irrelevant code removed
services.AddHttpsRedirection(options =>
{
options.RedirectStatusCode = StatusCodes.Status301MovedPermanently;
});
}
// This method gets called by the runtime.
// Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
// Irrelevant code removed
app.UseHttpsRedirection();
app.UseRewriter(new RewriteOptions()
.AddRedirectToWwwPermanent()
.AddRedirectToHttpsPermanent()
);
}
据我所知,我必须使用Rewriter来设置
AddRedirectToWwwPermanent
。我的问题是,我应该同时使用app.UseHttpsRedirection()
和AddRedirectToHttpsPermanent()
吗?或者如果它们做的事情完全相同,那么我应该删除哪一个?我只是想确保我正确地重定向到Https,并与Www重定向一起使用。
HttpsRedirectionMiddleware
和只设置为执行www重定向的RewriteMiddleware
,会不会导致两个301重定向(一个用于https,另一个用于www)?相比在RewriteMiddleware
中执行https和www重定向,是否可以将所有内容合并为单个301重定向? - Daniel Congroveapp.UseHttpsRedirection()
似乎使用了一个临时重定向(Status307TemporaryRedirect),而AddRedirectToHttpsPermanent()
实现了一个永久重定向。(我无法想象为什么有人会想要一个临时重定向到 HTTPS。) - Jonathan Wood