引言

URL转发主要用于将用户从一个URL重定向到另一个URL。GitHub Pages 是 GitHub 提供的一项服务,允许开发者将静态网站托管在 GitHub 上,这不仅免费而且易于管理。本文将探讨如何利用 GitHub Pages 实现两种类型的URL转发:显性转发和隐性转发。

URL显性转发

显性URL转发,也称为显式重定向,指的是当用户访问一个URL时,浏览器地址栏中显示的URL会发生变化,指向一个新的URL。通常采用 HTML 元素或 JavaScript 脚本来实现显性转发。

URL隐性转发

隐性URL转发,也称为隐式重定向,指的是用户访问一个URL时,虽然实际加载的内容来自于另一个URL,但浏览器地址栏中显示的URL保持不变。通常通过使用<iframe>或服务器端代理来实现。

利用Github Pages实现URL转发

显性转发 https://github.com/tynefung/explicit-url-forwarding

隐性转发 https://github.com/tynefung/implicit-url-forwarding

Step1: fork 本项目至你的仓库

  • 点击本页面的 Fork 按钮
  • Repository name 填写你的项目名称,可随意填写
  • 点击 Create fork

Step2: 配置源域名

  • 在你的源域名的 DNS 中,增加 CNAME记录 解析至 {username}.github.io 或 {orgname}.github.io。例如,我的用户名是 tynefung,所以我应解析至 tynefung.github.io
  • 进入项目仓库,在 Code 中点击 CNAME,点击铅笔按钮 (Edit this file) 来编辑文件,将 example.com 替换为源域名
  • 点击 Commit changes 提交变更
  • 点击 Settings 中选择左侧菜单 Code and automation 下面的 Pages,在 Branch 中选择 main /(root) 并点击 Save
  • 勾选 Enforce HTTPS 选项以确保安全访问

Step3: 配置目标域名

  • 进入项目仓库,在 Code 中点击 index.html,点击铅笔按钮 (Edit this file) 来编辑文件,将 https://example.com 替换为目标地址
  • 点击 Commit changes 提交变更
  • 相同方法编辑 404.html,将 https://example.com 替换为目标地址

完成

  • 至此,已全部完成配置,正常情况下,当访问源域名时,将转发至目标域名。
  • 注意,因为跨域访问限制,在隐性转发时,访问源域名页面的 title 可能无法更新。