public static void SetupHttpsRedirection(this IApplicationBuilder app, IConfiguration config) { if (bool.Parse(config["Https:Enabled"])) { app.UseHttpsRedirection(); } var options = new RewriteOptions().Add(c => { if (c.HttpContext.Request.Path.Equals("/tag") && c.HttpContext.Request.Query.ContainsKey("tag")) { c.Result = RuleResult.EndResponse; c.HttpContext.Response.Redirect("/tag/" + HttpUtility.UrlEncode(c.HttpContext.Request.Query["tag"]), true); } if ((c.HttpContext.Request.Path.Equals("/search") || c.HttpContext.Request.Path.Equals("/s")) && c.HttpContext.Request.Query.ContainsKey("wd")) { c.Result = RuleResult.EndResponse; c.HttpContext.Response.Redirect("/search/" + HttpUtility.UrlEncode(c.HttpContext.Request.Query["wd"]).Replace("+", "%20"), true); } }).AddRewrite(@"\w+/_blazor(.*)", "_blazor$1", false); switch (config["UseRewriter"]) { case "NonWww": options.AddRedirectToNonWww(301); // URL重写 break; case "WWW": options.AddRedirectToWww(301); // URL重写 break; } app.UseRewriter(options); }