作为上个时代的“遗老遗少”,保留RSS输出算是对时代一个交代。
WordPress的RSS订阅地址是动态的,位置: 域名/feed,Hugo是静态的,默认RSS订阅地址在:域名/index.xml
因为我不想以前的订阅地址失效,所以才要做这次网址兼容。
就算是你在hugo.toml中设置订阅地址到feed,那么(一般)也是生成一个feed.xml文件 。两个地址严格来说是不同的。
如果你强行将Hugo的订阅地址设置到域名/feed(不带.xml后缀),那么其他软件也可能出现类型识别错误。
要解决这个问题,最简单,最通用,最直接,最一劳永逸的就是用URL重定向。URL重定向之后就没必要折腾各种hugo设置和主题设置了,简单明了。
平台不同,网址URL重定向用的方法也不同。
我自己目前是用的Netlify,所以是下面这样做的。
在Hugo文件夹的H:\hugo博客\static 文件夹中,新建一个纯文本文件,名字是“_redirects”,
这个文件没有后缀,直接用vscode打开,输入:
# WordPress RSS 兼容 (重写模式)
/feed/ /index.xml 200
/feed /index.xml 200
# 额外的保险 (以防有人用 /rss/ 访问)
/rss/ /index.xml 200
/rss /index.xml 200(注:只做了域名/feed和域名/rss的重定向,其他一律没管)
保存之后提交,使用hugo.exe 构建,上传到Netlify;或者在Git提交,Netlify自动部署就行了。流程跟你写文章是完全一样的。
现在你可以手动访问,可以发现RSS输出已经恢复正常了。
最后,到声明里面,让读者继续使用以前的RSS地址就行了。