前言

最近在迁移域名,原域名托管在了腾讯 cos ,没办法用 nginx 重定向了,但是搜索引擎排名没有完全转移到新域名。所以只有在静态页面中实现重定向,而 js 实现这个功能是最简便的吧。

上手

<!DOCTYPE html>

<head>
    <script type="text/javascript">
        var path = window.location.pathname;
        window.location = "https://blog.thris.me" + path;
    </script>
</head>

<body>
    <h1>
        正在重定向
    </h1>
</body>

</html>
  • 也就是通过在静态 html 中嵌入 js 脚本来实现,代码放在 html 的 head

获取url path

一个 http url 包括六个部分,部分可选

<协议>//<域名>:<端口>/<路径><查询参数><hash>
<protocol>//<hostname>:<port>/<pathname><search><hash>

这里要实现的是保留 path ,将 hostname 更改为新的要重定向的域名。
于是就可以通过 window.location.pathname 函数获得当前域名的 path. 并赋给 path 变量.

重定向至新域名

The window.location object can be used to get the current page address (URL) and to redirect the browser to a new page
通过 window.location 将页面重定向至新域名。
windows.location 后面支持添加变量和字符串,通过 + 号连接。

body

此处 html 的 body 部分比较多余,但似乎可以加载动画来更”平滑“的跳转,这里就没有写了我也不会啊

部署

将此文件上传至 cos ,并把错误页设置为此静态文件

chrome_cmDGD0rYw2.png
到此就完成了。

结语

因为是面向谷歌编程,我未系统学过 javascript ,难免有缺陷应该问题还很大希望大佬能够指出我的错误,谢谢。

最后修改:2019 年 12 月 24 日
如果觉得我的文章对你有用,请随意赞赏