建站初期总有一些事情考虑不周,前几天调整了固定链接,从/category/id.html调整为/archive/id,然后总觉得哪里不踏实。趁着周末去考试的时间想了一下,如果固定链接依赖于文章ID或分类,那么一旦ID或分类发生变化,文章的固定链接就会失效。再者,从长远来说,将来如果要改版或重构网站,基于ID或分类的链接将变得不稳定。
由此,可以得出结论,固定链接最好不要依赖文章ID和分类,而是要依赖于文章的内容。这样的固定链接显得更稳定,而且具有更好的可读性,有利于SEO优化,分享链接时,链接本身也变得更有意义。
所以,决定把本站的固定链接改成基于postname的形式。修改固定链接后,要把之前的文章链接做一个跳转,但是由于文章有点多,手动修改很费时间,于是动手写了一段PHP代码,用于生成Nginx的跳转规则,代码如下:
运行这段代码,就会在浏览器页面输出重定向规则,我们把它复制到nginx配置里就可以了。
后记:这种基于postname的permalink就是写文章的时候麻烦一点,写完后,还要再把标题翻译成英文,看个人取舍了。后面如果我忍受不了这多余的一步,也可能换成基于post_id的形式。使用postname还有一个好处理就是,如果要换成其它形式,WP可以自动实现跳转,而不用再另写跳转规则。