背景
当用户点击我们发布的一些旧链接,而 Hexo 的链接都是永久链接,如果该文章被我们删除或者更改了链接,那么用户便会显示 nginx 的 404 页面,这个页面不够友好并且不能帮我们跳转到首页。
其实,hexo 本身是具备自定义 404 页面的,并且 nginx 会自动拦截并显示指定的 404 Not Found 页面,我们可以通过配置 hexo 和 nginx 来跳转自定义界面。
具体步骤
1、添加Nginx 404规则代码
在宝塔的站点服务器中添加配置404规则,代码如下:
fastcgi_intercept_errors on;
error_page 404 /404.html;
2、根目录中放置404.html
把自己提前写好的404.html网页添加到WEB根目录中,如下图;
这里我填写的是腾讯公益404页面,也可以自定义。腾讯公益404代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>404</title>
</head>
<body>
<script type="text/javascript" src="//qzonestyle.gtimg.cn/qzone/hybrid/app/404/search_children.js" homePageName="返回首页" homePageUrl="https://blog.xinglingyingxue.com/"></script>
true</body>
</html>
注意:homePageUrl=”your web site”处填写你的博客地址,如https://blog.xinglingyingxue.com/
3、实现倒时计跳转(可选)
当用户访问了出错的页面时就会跳到设定的404页面中,并且3秒后转到网站主页,需要在404页面中添加这段标签;
<meta http-equiv="refresh" content="5; URL=https://blog.xinglingyingxue.com/"/>
content后面是秒,自己可以改;URL 后面是跳转的网址。