之前一直没有关注网站站点健康的情况,能正常使用就可以了。
但是最近使用了obsidian,想要通过obsidian 的 wordpress插件自动将文章内容同步到wordpress上,因此进行了查看。
同步方式有两种,一种是xmlrpc,这种方式不安全,而且貌似我早就把他关闭了,并且我自己测试,返回521错误,也懒得再想办法解决了。另一种是rest api,不幸的是,依然出错,反馈401 request errors。
我在想,是不是也之前把rest api给禁用了?在站点健康里面扫描了一下,发现有两个错误:
- rest api遇到了错误;
- 站点不能完成回环请求。
REST API是WordPress及其他应用与服务器通信的一种途径。例如区块编辑器页面,它依赖REST来显示及保存您的页面和文章。 REST API请求因遇到了错误而失败。 错误:URL无效。(http_request_failed)
环回请求被用来运行计划事件,也被内建的主题及插件编辑器使用来确保代码稳定性。 到您站点的环回请求失败,这意味着依赖此种请求的功能将不能正常工作。 错误:URL无效。(http_request_failed)
一开始使用deepseek来查找解决办法,但是deepseek太敬业了,给了一大堆的可能存在的问题和解决方法,有点懒,没有一一尝试。
因此又在网上找方法。
网上提到的,包括deepseek提到的,有很多出现问题的情况是由于服务器的原因,但是我在同一个服务器上有两个网站,另一个完全正常,而这个出错,但是还是照着其中一个解决办法进行了尝试:
找到服务器 /etc 目录下的 hosts 文件,将不认识的 IP 地址都删掉。
打开host文件后,其实里面并没有什么不认识的ip,只有两组ip,一组是litespeed服务器的host,另一组是另一个网站指向127.0.0.1的。因此我尝试将这个网站域名也指向了127.0.0.1,至此,rest api错误的问题解决了,但是另一个站点不能完成回环请求的问题依然存在。
这时又找到了一个差不多相同情况的解决方案。
因此我也尝试去找config.php,查看是否有类似的问题,但是类似问题没找到,而是找到了另一个define:
这是安装安全插件例如wordfence后自动设置的内容,应该是保护wordpress防止暴力破解的吧,也不是很懂。
但是现在wordfence早就卸载了,可是这段代码还遗留,因此尝试删除后,另一个站点回环的问题也解决了。
另外,之前一直反馈litespeed cache插件的爬虫功能失效,无法刷新产生爬虫地图。
litespeed can’t create crawler sitemap resolved. litespeed无法创建爬虫地图
当时也是同一个服务器上的另一个网站一切正常,而这个总是频繁出错,因此又重新测试了一下,发现爬虫功能也正常了!
最后,虽然rest api可以正常使用了,但是obsidian wordpress插件依然不能成功同步,最后又在wordpress安装了rest api authentication后,才成功连接。
可是我依然没有使用obsidian wordpress同步,因为文章内容可以正常同步,可是图片无法同步,我都是使用的本地图库存储obsidian图片的,也不太想使用图床以及picgo,毕竟写东西很少。或许以后再说吧。
先在wordpress中写好,然后再复制粘贴到obsidian吧。