由于Vercel默认的404页面与网站内容相比较为割裂,这里选择通过vercel.json自定义一个404页面,并且是通过hexo的页面功能,可以更好的保持网站的统一风格。

创建Hexo中的404页面

首先我们先创建一个404页面,这样可以统一整体的风格。

1
hexo n page '404'

然后我们编辑这个文件,
1
2
3
4
5
6
7
8
9
10
---
title: 404 - 这个网页并不存在~ Not Found
date: 2021-02-06 22:55:12
comments: false
sitemap: false
---
# 你想写的内容
<script language="javascript" type="text/javascript">
setTimeout("javascript:location.href='/'", 10000);
</script>

由于是404页面,这里比较建议关闭评论,这里通过js进行定时10秒跳转,需要的可以自己修改。
由于我们不想让这个页面被收录,这里如果你安装了sitemap插件,同样要禁止生成此页面的sitemap。

配置Vercel.json

source中我们新建一个vercel.json键入以下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 参考csdn,具体链接见上。
{
"version": 2,
"routes": [
{
"handle": "filesystem"
},
{
"src": "/(.*)",
"status": 404,
"dest": "/404/"
}
]
}

这样每次就能改变默认的404地址啦~

修改Robots.txt等文件

记得修改robots.txt中禁止爬虫爬到404页面,如果你没有的话可以用这个工具生成一份,顺便可以配置下sitemap

这里简单展示一下本站的:

1
2
3
4
5
6
7
8
# robots.txt generated at http://tool.chinaz.com/robots/ 
User-agent: *
Disallow: /404/
Disallow: /img/
Disallow: /js/
Disallow: /css/
Sitemap: http://xiandai.ren/sitemap.xml
Sitemap: http://xiandai.ren/baidusitemap.xml

以及,如果你安装了sitemap插件,请在_config.yml的配置项中的skip_render中添加
1
2
3
4
5
6
7
# Directory

code_dir: downloads/code
i18n_dir: :lang
skip_render:
- vercel.json

Try it!

这样上传后,你会发现访问任意不存在的页面就会出现我们先前设置的东西啦~ 当然也可以玩出更多花样欢迎在评论区跟小编讨论哦~