예제 #1
0
    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();
    }
예제 #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();
    }