我的网站有一个由 http 访问的公共部分和一个需要登录的 https 部分。当注销该站点时,它会重定向到 http 公共索引页面。
以前,我也通过说明完整的网址来完成此操作。最近我不得不摆脱这些东西,以便该站点可以在多个域上运行以进行测试。
我尝试使用 UriBuilder 将 https 链接转换为 http 链接,以便网站不再需要使用直接指向特定 url。这应该允许站点使用任何域名。现在它指向计算机名称。
if (Request.IsSecureConnection)
{
UriBuilder ub = new UriBuilder();
ub.Path = "/html/index.html";
ub.Scheme = Uri.UriSchemeHttp;
ub.Port = -1; // use default port for scheme
Response.Redirect(ub.Uri.ToString(), true);
//An old direct link to the site
//Response.Redirect("http://www.someaddress.com/html/index.html");
}
当代码在测试服务器上远程触发而不是指向正确的域时,它会将我返回到该地址
http://localhost/html/index.html
代替
http://testserver/html/index.html
我不知道为什么这样做而不是返回我连接到服务器的地址。