修改了 weixiaoduo.com 的永久链接格式,从原来的 /%category%/%post_id% 的格式修改为 %postname% ,以便于 url 变得更有意义一些,当然这个前提是 weixiaoduo.com 所有的文章标题都是被收录的网站的名称,不需要另外再去重新编辑 slug 之类的。
以上两个不同的 URL 格式的差别,只有在文章页 (single) 才显示,分类页及其它页面基本都是一样的,所以无需做过多的修改,另外再安装 Dean's Permalinks Migration 插件更是连 301 都不需要做。
安装这个插件后,会自动读取当前的 URL 格式,保存一下然后去修改永久链接格式,当访问旧地址时会自动 301 跳转到新地址。
本以为一切都顺风顺水的,但当检查地址是否全部正确的时候,发现很多以前的老文章访问时,页面的内容结构会由读取 single.php 文件变成读取 page.php 文件,而访问附件的地址时则是正常的,但 url 不会跳转,注意看以下两个截图的地址栏:
进一步检查这些显示有错误的文章内容时,发现这些文章内容是完全正常的,随意添加一点内容再更新文章时,页面依然显示错误的。
于是又将文章内容里的图片删掉,重新添加一下图片,再保存时显示就正常了,基本上判定为图片上传的时候有问题。而出现错误的文章发布时间集中在 2010 年 1 月份之前,回想在最早开始给 Reeoo 添加内容时,因为嫌每个文章上传一次图片麻烦,所以有时会一下子上传一堆图片,然后写每个文章时直接复制 HTML 代码过去修改,以达到更快速简便的效果。
再加上最早的时候使用的是 WordPress2.8 的版本,之后经历过几次大版本升级,数据的升级可能不完善,于是就导致了这个问题的出现。
确定为图片上传的问题后,改为去检查媒体库,发现里面有接近 200 来张的图片是没有附属的,也即是在数据库里这些图片没有被指定附加在哪个文章里,于是只需要重新为这些图片指定附属的文章,问题完美解决。