【发布时间】:2012-08-26 16:11:05
【问题描述】:
我已经在一个处于测试阶段的网站上工作了一段时间,终于要推出它了。整个网站有几个链接、锚标记和相对 URL,它们链接到网站的管理员和购物车部分,现在它们必须受到 SSL 保护。
另外,Response.Redirect("~/../.."); 中的相对 URL 也有同样的问题
当用户浏览 http 时,是否可以使用相对 URL 将他们重定向到具有 https 连接的页面?为了 SSL 的目的,为链接和重定向编写绝对 URL 似乎是一种不好的做法。如果域名更改,我必须全部重写。另外,如果我想让它们在我的本地主机上工作,我每次上传到服务器时都必须更改它们。一定有办法。
【问题讨论】:
-
您的观点是,当它不应该真正成为问题时,必须重写绝对 URI 中的主机名。当您的内容是静态的时,这主要是一个问题,但您在这里使用的是框架。任何体面的现代 Web 编程框架都应该让您从请求中获取请求的主机,并在需要时自动插入以构建绝对 URL:
"https://" + Request.getHostName() + "/" + relativeURL之类的东西(这只是伪语法,您可能需要弄清楚细节)。自动重写也有some problems。
标签: asp.net redirect ssl hyperlink relative-path