NonWwwRule.cs 887 B

12345678910111213141516171819202122232425
  1. using Microsoft.AspNetCore.Rewrite;
  2. using System;
  3. namespace Masuit.MyBlogs.Core.Extensions
  4. {
  5. public class NonWwwRule : IRule
  6. {
  7. public void ApplyRule(RewriteContext context)
  8. {
  9. var req = context.HttpContext.Request;
  10. var currentHost = req.Host;
  11. if (currentHost.Host.Equals("127.0.0.1") || currentHost.Host.Equals("localhost", StringComparison.InvariantCultureIgnoreCase))
  12. {
  13. context.Result = RuleResult.ContinueRules;
  14. return;
  15. }
  16. if (req.Scheme.Equals("http") || currentHost.Host.Contains("www."))
  17. {
  18. context.HttpContext.Response.Redirect("https://" + currentHost.Host.Replace("www.", string.Empty) + req.PathBase + req.Path + req.QueryString);
  19. context.Result = RuleResult.EndResponse;
  20. }
  21. }
  22. }
  23. }