Github Pages页面重定向到新网址,实现域名跳转

本文涉及的产品
.cn 域名,1个 12个月
简介: 1、前言最新还是决下心来换域名啦!从 http://ihtc.cc 换成 https://ihtcboy.com !然后问题就来了,以前文章的链接打开404了,旧域名也访问不通,这样子不行呢!用了2年多的旧域名,在百度谷歌还是积累了一些爬虫,还有很多分享到第三方平台的文章呢!想一想,还是想救一救它!!!2、准备工作首先,因为是2个域名,所以我分别用2个GitHub账号设置对应的Repo地址解析。

1、前言

最新还是决下心来换域名啦!从 http://ihtc.cc 换成 https://ihtcboy.com !然后问题就来了,以前文章的链接打开404了,旧域名也访问不通,这样子不行呢!用了2年多的旧域名,在百度谷歌还是积累了一些爬虫,还有很多分享到第三方平台的文章呢!想一想,还是想救一救它!!!

2、准备工作

首先,因为是2个域名,所以我分别用2个GitHub账号设置对应的Repo地址解析。

域名 Repo
ihtc.cc HeTianCong.github.io
ihtcboy.com iHTCboy.github.io

3、域名重定向

首先要解决的问题是 ihtc.cc 重定向到 ihtcboy.com,在网上搜索到,域名的重定向可以有以下3种方法(如果还有其它,欢迎大家补充!):

  1. 域名转发
  2. 301重定向
  3. JS跳转

方法一,域名注册商支持域名转发功能才行!放弃~
方法二, 就是Web 服务器(这里是GitHub)给访问老域名的请求返回一个 302,然后跳转到新域名上。考虑到使用的GitHub托管服务是不可能配置 Web 服务器的,也只能放弃~

最后就是剩下JavaScript 实现,在 HeTianCong.github.io 新建
index.html 文件,内容为:

<script type="text/javascript">window.location.href="https://ihtcboy.com";</script>

解析:

index.html就是访问 ihtc.cc 时,GitHub 默认打开的页面,所以在里面用JS重写向到新的域名,这样就解决了旧域名重写向新网址的问题啦!!

4、文章重定向

旧的文章链接:

http://ihtc.cc/2018/02/25/2018-02-25%20_Gitment评论功能接入踩坑教程/

既然要重定向到新的域名,,就不可能在旧的Repo里增加全部旧文章吧(虽然方案是可行),但是这样又起不到读者知道新域名的问题,硬要搞2个Repo,那就没有前面的重定向必要啦!!!

最后想到旧的链接访问不通时,表现形式:
404
There isn't a GitHub Pages site here.

那么在 Repo 下建立一个 404.html,这样是不是就可以拿到访问文章的链接,然后就你所欲为!(拿旧域名替换成新域名就可以啦!)马上就开始行动吧!

404.html 文件,内容为:

<script src="http://cdn.bootcss.com/purl/2.3.1/purl.min.js"></script>

<script>
var url = purl();
if (url.attr('host') == 'ihtc.cc') {
    var old_url = url.attr('source');
    var new_url = old_url.replace('ihtc.cc', "ihtcboy.com");
    window.location.replace(new_url); 
}else if (url.attr('host') == 'www.ihtc.cc') {
    var old_url = url.attr('source');
    var new_url = old_url.replace('www.ihtc.cc', "ihtcboy.com");
    window.location.replace(new_url);
}else {
    window.location.href="https://ihtcboy.com";
}
    
</script>

上面js是放在 404.html 里面,当文章访问不通时会显示 404.html 页面,这时就会直接调用js判断域名,然后替换成新域名来访问!

最后实践发现,这个方法可行!!!(当然,有些禁止js运行的浏览器这些人群就被忽略吧,不属于大多数人的世界-.-)

从浏览器访问 www.ihtc.cc/xxxihtc.cc/xxx 的读者,都会被重定向到 ihtcboy.com!

最后旧的Repo就是这样:


img_df9d538d1f87e3e703b72056c2f6bbea.png
image.png

以上全部的配置内容可参考 HeTianCong.github.io

5、总结

刚开始是想放弃,因为经常在谷歌搜索文章里,常常发现404的 There isn't a GitHub Pages site here.,都是怀疑作者域名过期或变更等原因导致,博客又没有搭建自己的后台服务器,就只能不了而之,旧的读者从此就与这个博客网站失联,觉得是有点可惜!

所以,今天的这个文章,希望对愿意写文章,有又变更域名需求的博客同仁来说,希望是一个更好的开始!

6、参考


  • 如有疑问,欢迎在评论区一起讨论!
  • 如有不正确的地方,欢迎指导!


注:本文首发于 iHTCboy's blog,如若转载,请注来源

目录
相关文章
|
1月前
|
域名解析 缓存 网络协议
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
|
1月前
|
JavaScript 前端开发 索引
JavaScript获取url网址中域名后面的部分
如何截取 url 中网站域名之后的部分,需要用到以下几个方法:
83 3
|
1月前
|
域名解析 网络协议 前端开发
浏览器输入域名网址访问后的过程详解
1、以91处理网为例,客户端浏览器通过DNS解析到www.91chuli.com,IP地址是202.108.22.5,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到202.108.22.5,然后通过TCP进行封装数据包,输入到网络层。
56 2
|
2月前
|
程序员 开发工具 Android开发
Android|WebView 禁止长按,限制非白名单域名的跳转层级
如何限制 WebView 仅域名白名单网址能随意跳转,并禁用长按选择文字。
42 2
|
3月前
|
Apache 数据安全/隐私保护
HAProxy的高级配置选项-ACL篇之域名重定向案例
这篇文章介绍了HAProxy的ACL(访问控制列表)功能,特别是如何基于域名进行重定向的高级配置选项,并通过实战案例展示了如何配置ACL规则以实现基于特定域名的HTTP重定向。
91 6
HAProxy的高级配置选项-ACL篇之域名重定向案例
|
3月前
|
网络协议 开发工具 git
hexo github部署,通过域名访问你的博客
本文介绍了如何使用Hexo命令部署博客到GitHub,并详细说明了如何通过自定义域名访问GitHub上部署的博客。
hexo github部署,通过域名访问你的博客
|
4月前
【Azure 应用服务】Web.config中设置域名访问限制,IP地址限制访问特定的页面资源 (Rewrite)
【Azure 应用服务】Web.config中设置域名访问限制,IP地址限制访问特定的页面资源 (Rewrite)
|
4月前
|
JavaScript
JS 判断域名并跳转到指定页面
JS 判断域名并跳转到指定页面
37 0
|
5月前
|
域名解析 Web App开发 缓存
在浏览器上输入一个网址后,发生了什么?/HTTP的工作流程/DNS域名解析过程
在浏览器上输入一个网址后,发生了什么?/HTTP的工作流程/DNS域名解析过程
|
5月前
|
Go
域名重定向工具 —— SwitchHosts 实用教程
域名重定向工具 —— SwitchHosts 实用教程
617 0