前几天升级了Z-Blog程序,后来又发现了一些小问题,今天集中解决一下。
在上一个版本的Z-Blog中,我把文章统一放在Post目录下,并没有设定个性化的URL。所以文章都会在同一个目录下,上面也说过了,从2005年到2008年的现在有八百多篇呢,看上去就觉得乱。所以这次我加上了一个开关,让每个月都建立一个子目录,这样子会有效地将文章分散,不至于在一个目录下有超多文件出现。比如我升级Blog程序的那篇文章,它的URL是:
http://www.clie.com.cn/blog/post/2008/01/20080106-ZBlog-upgraded.html
而升级以前,它的URL是:
http://www.clie.com.cn/blog/post/20080106-ZBlog-upgraded.html
既然调整了Blog文章的链接,这样一来,以前的旧链接就统统变成了死链。为了能让Google中索引过的页面仍然有效,为了能让所谓的永久链接真的变成“永久”,我今天把以前的旧链接全部做了跳转。自己没有服务器的高级权限,这八百多篇文章不能通过常规的办法来统一跳转。于是乎,我想了一个笨办法……
因为以前的链接全部是静态HTML文件,所以没办法通过301来重定向。我只能生成一批HTML文件,然后在这些HTML文件中做跳转代码。这样一来,用户在Google中找到的地址还能使用,不至于损失一部分通过搜索引擎到来的用户。
但是八百个文件也太多了点-。- 我只好使用脚本了。这次我没有用以前常用的Windows Script,而是使用了最近的新宠:Python :) 相对于Windows Script来说,Python很好、很强大。作为新手我就不说什么了,专家们看了会笑话我的。
具体实现方法如下:
- 从后台数据库中导出个性URL和Blog编号,然后一一对应起来存放在一个纯文本文件里面。因为我几乎没有删除过文章,所以我的Blog编号几乎都是连续的。
- 用Python读取这个文件,然后循环。生成八百个旧HTML文件,里面用跳转代码统一指向一个asp文件。
- 这个asp文件需要一个参数,就是Blog编号。根据编号匹配准确的个性化URL,然后用301跳转过去,嗯。
- 最后把这八百多个HTML文件和ASP文件上传,大功告成。
之所以没有直接用HTML跳转,是因为这些琐碎的小文件上传起来太麻烦了,我还是统一在asp文件里面修改吧,简单高效。可惜的是,我现在使用的服务器不支持Python,不然就更简单咯,呵呵。


