我正在尝试配置在 Azure 上运行的 asp.net core 应用程序,以便当任何人进入 www.LimitedPlay.com 时,他们将自动“转发”或“重定向”到顶点网站 LimitedPlay.com。我首先将名称服务器从 GoDaddy 移动到 Azure,然后在 Azure 中配置 DNS 区域和自定义域,让两者单独工作,但问题是这会创建单独的实例/会话,这会让用户感到困惑。例如,当他们单击 www.LimitedPlay.com 中的“接受 Cookie”“确定”按钮,然后在同一浏览器的另一个选项卡中转到 LimitedPlay.com 时,他们会再次看到“接受 Cookie”对话框。
那么我该如何配置,以便当用户输入 www.LimitedPlay.com 或 LimitedPlay.com 时,他们将被“转发”或“重定向”,并且都指向相同的自定义域 LimitedPlay.com(不是 www.LimitedPlay.com)?
或者这种“转发”或“重定向”是否需要在 GoDaddy 端进行?
注意:此后我一直在查看一些 MS 帮助信息,甚至致电 GoDaddy 域支持,他建议删除 Azure 的 www.LimitedPlay.com 自定义域和相应的 asuid.www(TXT 记录)并添加类型 CNAME (www),但这也不起作用,我收到错误:
网站通过证书证明其身份。 Firefox 不信任此站点,因为它使用的证书对 www.limitedplay.com 无效。该证书仅对以下名称有效:*.azurewebsites.net、*.scm.azurewebsites.net、*.azure-mobile.net、*.scm.azure-mobile.net、*.sso.azurewebsites.net
感谢您提前提供的任何帮助...😊
更新
非常奇怪的是,这个问题以
not about programming or software development
结束,而实际上这是一个合法的技术问题。是的,我解决并竭尽全力回答我自己的问题,因为它是最好的 asp.net core Razor Pages 解决方案(其他人可能会从中受益),但也许你的 AI 没有按预期完成工作。
因此,经过更多挖掘和专门搜索 asp.net core 重定向后,我发现了 AddRedirectToNonWwwPermanent() ,可以将其添加到 app.UseRewriter() 以将任何 wwww 子域永久重定向到顶点域,如下所示:
在您的 asp.net core(或我的情况下为 Razor Pages)中,转到 Startup.cs 并在 Configure() 部分中添加:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseRewriter(new RewriteOptions()
.AddRedirectToNonWwwPermanent());
. . .
}
就是这样!如果需要,您还可以添加 .AddRedirectToHttpsPermanent(),但在我的例子中,Azure 通过其 DNS 区域自动从 http 重定向到 https。
您必须在特定于 www 的 Azure DNS 区域中再添加 2 个 DNS 记录才能正常工作,否则您会收到浏览器警告,指出 www.yourdomain.com 不安全,因为
308 Permanent Redirect
发生在末尾。所以,添加:
到您的 DNS 区域,您就可以开始了。
最后是我在this帖子中看到的一条注释:
在测试时,不要忘记这些是“永久”重定向,因此您的浏览器将缓存它们。打开浏览器的开发工具,转到网络选项卡,然后选中禁用缓存框。现在,当您访问其中之一时,您将获得当前的重定向输出。如果您不这样做,当您实际修复它并且只有旧数据时,所需的重定向可能看起来“仍然错误”。
希望这有帮助。 干杯...:)