Служите страницам на www.example.com, но не на example.com - PullRequest
0 голосов
/ 26 марта 2019

Как сейчас, запустите мою страницу как с www, так и без www.

Я прекратил работу в Cloudflare, чтобы на странице было 301 от не-www до www.Я пытался с Cloudflare и .net core 2.0 все время устанавливать ТОЛЬКО дорогой www.

Я пытался настроить Cloudflare на запуск 301 и перебросить его на www.xxxx.dk

Установка на Cloudflare

Таким образом, я следовал этой настройке в отношении того, чтобы страница постоянно работала с www независимо от того, что.

https://stackoverflow.com/a/48784263/11141703

Файл Startup.cs здесь:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
     var rewrite = new RewriteOptions()
         .AddRedirectToWww()
         .AddRedirectToHttpsPermanent();

     app.UseRewriter(rewrite);
     .... and more here after....
}

Файл RedirectToWwwRule.cs здесь:

public class RedirectToWwwRule : IRule
{
    public virtual void ApplyRule(RewriteContext context)
    {
        var req = context.HttpContext.Request;
        if (req.Host.Host.Equals("localhost", StringComparison.OrdinalIgnoreCase))
        {
            context.Result = RuleResult.ContinueRules;
            return;
        }

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

        var wwwHost = new HostString($"www.{req.Host.Value}");
        var newUrl = UriHelper.BuildAbsolute(req.Scheme, wwwHost, req.PathBase, req.Path, req.QueryString);
        var response = context.HttpContext.Response;
        response.StatusCode = 301;
        response.Headers[HeaderNames.Location] = newUrl;
        context.Result = RuleResult.EndResponse;
    }
}

Файл RewriteOptionsExtensions здесь:

public static class RewriteOptionsExtensions
{
    public static RewriteOptions AddRedirectToWww(this RewriteOptions options)
    {
        options.Rules.Add(new RedirectToWwwRule());
        return options;
    }
}

Проблемы:

Проблема в том, как она есть, запустите мою страницу как с www, так и без www.По сути, я только хочу запустить WWW и ничего больше.

По отношению к SEO у меня нет двух одинаковых страниц.

Как я уже сказал, ничего не происходит, потому чтоЯ добавил эти два решения как с кодом, так и с Cloudflare.

...