从 http:// 重定向到 https:// [重复]

Posted

技术标签:

【中文标题】从 http:// 重定向到 https:// [重复]【英文标题】:Redirect from http:// to https:// [duplicate] 【发布时间】:2017-11-04 18:45:13 【问题描述】:

我想将用户从我的 http 网站重定向到 https 网站,是否有类似元、javascripthtml 来执行此操作我的网站有一个 http 服务器以及一个安全版本。

【问题讨论】:

重定向最好在 HTTP 级别完成。您如何实现它们取决于您的 HTTP 服务器和/或服务器端编程语言的选择。 我喜欢这两个答案,但 Javascript 对我来说更好,谢谢。 【参考方案1】:

作为一种快速修复,您可以这样做:

if(window.location.protocol != 'https:') 
  location.href =   location.href.replace("http://", "https://");

但我建议您使用 Web 服务器中的可用方法来完成此操作

【讨论】:

感谢您的帮助,并且更易于管理。【参考方案2】:

来自https://***.com/a/5411601/5031164

您应该同时为较新的浏览器使用 html meta 标记,同时为较旧的浏览器使用 javascript 脚本:

<meta http-equiv="refresh" content="0; url=https://example.com/" />
<script type="text/javascript">
   window.location.href = "https://example.com"
</script>

我也报告:

为了完整性,我认为如果可能的话,最好的方法是使用服务器重定向,所以发送一个 301 状态码 [...]

【讨论】:

您指的是什么“较新的浏览器”?哪个“旧版浏览器”不能使用它? 非常老的浏览器,比如 IE6 之前可能有问题 (read more here)。无论如何,我读到浏览器在少数情况下可能会忽略 0 值元刷新,所以我建议也保留 js 脚本。 more here

以上是关于从 http:// 重定向到 https:// [重复]的主要内容,如果未能解决你的问题,请参考以下文章

将所有子域从 http 重定向到 https

使用 PHP 从 HTTP 重定向到 HTTPS

Tomcat 不会从 HTTP 重定向到 HTTPS

从 http 重定向到 https 时,从 url 中删除斜线

Grails 重定向控制器从 https 切换到 http。为啥?

从 http 重定向到 https (Pencilblue Elastic Beanstalk)