🎶 Sym - 一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)平台

📕 思源笔记 - 一款桌面端笔记应用,支持 Windows、Mac 和 Linux

🎸 Solo - B3log 分布式社区的博客端节点,欢迎加入下一代社区网络

♏ Vditor - 一款浏览器端的 Markdown 编辑器

浏览器 - https 重定向

2019-11-18

描述

如果页面当前是 HTTP,把他重定向到 HTTPS。除此外,还应替换他的历史,以便按下返回按钮时,并不会让他返回 HTTP 页面。

提示

  • 使用 location.protocol 获取当前使用的协议
  • 如果不是 HTTPS,使用 location.replace() 将当前页面替换为 HTTPS
  • 使用 location.href 获取完整的地址,使用 String.prototype.split() 将协议部分从 URL 中分离出去
  • 当然你也可以在服务端使用 301 重定向
  • 如果可以的话,HSTS 将会更棒

代码

const httpsRedirect = () => {
  if (location.protocol !== 'https:') location.replace('https://' + location.href.split('//')[1]);
};

示例

如果你在 http://hacpai.com/activity/checkin,你将被重定向到 https://hacpai.com/activity/checkin

httpsRedirect(); 

返回总目录

每天 30 秒系列之 JavaScript 代码


欢迎注册黑客派社区,开启你的博客之旅。让学习和分享成为一种习惯!

1 评论
namelysweet • 2019-11-19
回复 删除

如果可以的话,HSTS 将会更棒👍👍👍👍👍👍👍👍