检测HTTP或HTTPS,然后在JavaScript中强制使用HTTPS

有没有什么办法来检测HTTP或HTTPS,然后用JavaScript强制使用HTTPS?

我有一些代码检测HTTP或HTTPS,但我不能强迫它使用https:

我正在使用window.location.protocol属性来设置网站是https:然后刷新页面,希望重新加载一个新的https'ed URL加载到浏览器。

 if (window.location.protocol != "https:") { window.location.protocol = "https:"; window.location.reload(); } 

尝试这个

 if (location.protocol != 'https:') { location.href = 'https:' + window.location.href.substring(window.location.protocol.length); } 

这不是个好主意,因为你只是暂时将用户redirect到https,浏览器不保存这个redirect。

你描述了Web服务器(Apache,Nginx等) http 301,http 302的任务

这个怎么样?

 if (window.location.protocol !== 'https:') { window.location = 'https://' + window.location.hostname + window.location.pathname + window.location.hash; } 

不过,理想情况下,你可以在服务器端进行。

设置location.protocol 导航到一个新的URL :

 if (location.protocol !== "https:") location.protocol = "https:"; 

火狐49有一个错误,其中https工作,但https:不(NS_ERROR_UNEXPECTED) 。 据说在Firefox 54中是固定的 。

 if (location.protocol == 'http:') location.href = location.href.replace(/^http:/, 'https:') 

不是一个Javascript方式来回答这个问题,但如果你使用CloudFlare,你可以编写页面规则 ,redirect用户到HTTPS更快,它是免费的。 在CloudFlare的页面规则中看起来像这样:

在这里输入图像描述

您好我使用这个解决scheme完美的作品。无需检查,只需使用https。

 <script language="javascript" type="text/javascript"> document.location="https:" + window.location.href.substring(window.location.protocol.length, window.location.href.length); </script> 

迎接BrAiNee

 <script type="text/javascript"> function showProtocall() { if (window.location.protocol != "https") { window.location = "https://" + window.location.href.substring(window.location.protocol.length, window.location.href.length); window.location.reload(); } } showProtocall(); </script> 

我刚刚通过Pui Cdm所testing的所有脚本变体,包括上面的答案以及许多其他使用php,htaccess,服务器configuration和Javascript的脚本,结果是脚本

 <script type="text/javascript"> function showProtocall() { if (window.location.protocol != "https") { window.location = "https://" + window.location.href.substring(window.location.protocol.length, window.location.href.length); window.location.reload(); } } showProtocall(); </script> 

由vivek-srivastava提供最好的作品,你可以添加进一步的安全性在Java脚本。