一个属于RSS的梦:博客RSS维修记
我经常说的一句很中二的话是,互联网正在消失
听起来似乎很夸张,我们也不能否认技术迭代确实有它的好处。但是很明显的一点是,技术迭代的最终目的是为了让他们变得更好,而不是让本来挺好的东西不好了,或者直接消失了
RSS(Really Simple Syndication,简易信息聚合),就是其中之一
起因
博客收到了一条评论,询问是否提供RSS
老实说,我的旧博客是有RSS的,当时提供这个东西的原因很简单:因为RSS还是那么的好用,能够让人们在这个信息爆炸的年代能够以最低的成本获取自己需要的信息。既然现在有人询问,那必然是站内RSS出了毛病无法使用
因为本站目前基于Typecho,而且我有个测试版和稳定版混着装的情况,因此估计可能在新旧版本上有冲突。所幸的是这个问题不算复杂,简单操作之后就排除了。
作为笔记,现列如下
故障现象
直接访问RSS地址,发现报错500,原因是找不到Feed类下的getType和getFeedUrl函数
排障-之一
SSH把全站源码拉下来,分析一下Typecho的路由结构,最后定位到是var/Widget/Feed.php
中调用了这两个不存在的函数
甚至VSCode也发现问题了,这两个函数确实不存在。
但是这两个函数究竟是什么呢?
到Github上看Typecho的源码,更悲剧的事情发生了:var/Widget/Feed.php
文件已经不存在了。虽然说我可以看commit记录等来找回原文件,但是今晚还有一份作业要做,花不了太多时间。因此思考再三,最后采用了一个比较粗暴但是『能用』的方法,算是解决了问题
排障-之二
幸好,这个文件里面引用这两个函数的地方也不多,最简单粗暴的方式就是直接把这两个函数用空字符串替代,看看会发生什么
上传文件后再刷新,发现已经可以正常拿到RSS内容。但是为了保险起见,还是用检查器检查一下好
然后,检查器告诉我,检查不通过.....
排障-之三
其实想想也是,毕竟现在代码是缺斤少两的,能跑起来都不错了
这个报错的意思是,这里不能用相对路径,毕竟人家是要塞进去RSS阅读器的,相对路径没人知道你要去哪
刚刚注释掉的函数中,和路径相关的就是getFeedUrl()
,因此尝试在调用此函数的地方用博客主站的地址代替
再次测试:
这样就好了,博客的RSS功能就能用了。getType似乎是给插件用的,当前问题不大,有问题再改就是了
后记
为了方便获取链接,在博客后台修改一下,把RSS地址加入到介绍栏当中
问题解决了,可以继续和周公一起做RSS的梦
(全文完)
rss已经收录到我的阅读器中, 博主修复效率好高啊, 收到我评论就开干了