1. 正在先生首页
  2. 技术开发

WordPress 固定连接之谜-自定义4位数字别名会出现404

这个问题困扰了我两个通宵了。终于搞定了。
Debug 大约花了1.5个通宵。0.3个通宵用来实现代码。0.2个通宵则是把代码包装成一个 WordPress 插件,然后提交等待审核通过。不过现在已经放上 Github 了,需要的这里下载:Github

总的来说,就是如果自定义固定链接,那么文章的别名是4位数字的话,wordpress 就会出现无法识别,并且返回 404 。
别问我为什么要用4位数字来做文章别名。每个人都有奇怪的需求不是? 在找解决方法的时候,也会发现很多人有同样的需求。主要集中在,1,从别的CMS平台迁移到Wordpress,考虑SEO,需要保留原来的访问路径。2,将wordpress作为工单来发布。这些情况都会遇到需要数字做别名的情况。而Wordpress在每个版本中对于数字在 URL 中的定义都不完全相同。比如在 3.3 以前,用数字做别名不论长短,都会因为文章正文分页的识别逻辑,出现冲突。所以有人写过一些插件来解决这个问题。之后 WordPress 有处理这部分的冲突逻辑。而在至少目前我用的 4.9.1 版本中,Wordpress 明确说明要保留4位数字的别名用来作为年度存档的识别路径。从而给所有默认添加的4位数字增加了 -2 这样的后缀。我到没有遇到 -2 这样的情况。所以只是需要能够确认4位数字可以准确定位文章即可。前面的1.5天真是完全没有头绪,在 WordPress 中设置了无数断点用来锁定相关代码片段。最大的收获莫过于对于Wordpress 整体框架的了解。确实是一个成熟的平台。代码相当的规整严密。同时也再一次向着面向对象的思维方式前进的一丢丢。而这也是2个通宵仅有的收货,因为,最终实现是使用了 wordpress 自带的方法,2行代码就搞定了。而现在则在用最后的一点点精力完成这篇Log,就可以睡个好觉去了。

继续吐槽。

原创文章,作者:Y.Y,如若转载,请注明出处:https://84361749.com/post/wordpress-bug-permalink-numberic-issue.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注