public void ApplyRule(RewriteContext context)
        {
            var request = context.HttpContext.Request;

            var hostInDomains = RedirectToWwwHelper.IsHostInDomains(request, _domains);

            if (!hostInDomains)
            {
                context.Result = RuleResult.ContinueRules;
                return;
            }

            if (!request.Host.Value.StartsWith(WwwDot, StringComparison.OrdinalIgnoreCase))
            {
                context.Result = RuleResult.ContinueRules;
                return;
            }

            RedirectToWwwHelper.SetRedirect(
                context,
                new HostString(request.Host.Value.Substring(4)), // We verified the hostname begins with "www." already.
                _statusCode);

            context.Logger.RedirectedToNonWww();
        }
Example #2
0
        public void ApplyRule(RewriteContext context)
        {
            var req = context.HttpContext.Request;

            var hostInDomains = RedirectToWwwHelper.IsHostInDomains(req, _domains);

            if (!hostInDomains)
            {
                context.Result = RuleResult.ContinueRules;
                return;
            }

            if (req.Host.Value.StartsWith(WwwDot, StringComparison.OrdinalIgnoreCase))
            {
                context.Result = RuleResult.ContinueRules;
                return;
            }

            RedirectToWwwHelper.SetRedirect(
                context,
                new HostString($"www.{context.HttpContext.Request.Host.Value}"),
                _statusCode);

            context.Logger.RedirectedToWww();
        }