现在,同时使用www而不是www来运行我的页面。
我在Cloudflare中终止了,它应该使页面上的301从非www到www。我已经尝试过将Cloudflare和.net core 2.0设置为始终只设置为亲爱的www。
我试图将Cloudflare设置为运行301,并将其扔到www.xxxx.dk
因此,我遵循此设置进行操作,以使页面无论何时都始终运行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中添加了这两个解决方案。