跳过正文

HugoRSS订阅转换到WordPress兼容地址

作为上个时代的“遗老遗少”,保留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地址就行了。