标签/Tag为[归档]的文章

[SiteLog]MT归档页面变更以及Tags搜索页面cache机制的变更 ,

This is a SiteLog for Easun.org.

随着文章的增多, Movable Type归档页和按照分类归档页是越来越没有意义了。抽点时间干脆彻底改写模板(Template)而重构页面显示。
改写的结果是 归档页 全部显示所有日志的标题和回复数目。照分类归档页 不在显示最近的几篇文章的概要而也是显示该分类下的所有所有日志的标题和回复数目。
具体样式可以参考 归档页分类 [MT相关] 的文章归档 来看看效果。
Movable Type的静态发布,成也萧何,败也萧何啊。

另外,就是对本站的 Tags 搜索进行了全部重构。 Movable Type 程序的负荷一直在与 mt-search.cgi 。 早在08年底,由于 mt-search.cgi 的效率问题 ,就直接禁止了通过mt-search.cgi来用关键字搜索本站,而改成了 Google Custom Search 。 Tags 搜索也自己写了 Perl 脚本来文本cache mt-search.cgi返回的结果。
但是,最近发现,当初的文本cache机制大有问题。主要表现在下:

  1.  不能自动更新 cache。导致部分cache返回结果的还是2009年初。
  2. 对于返回数据大于一页的Tags搜索页面仅仅是显示第一页。不能翻页。


改写后这些问题都解决了。
主要流程是:
点击 tag 后, 检测是否存在 cache后生成的 html 文件? 如果有并且文件是2天内的,则直接输出现成的 html文本;如果没有或者过期,则交给mt-search.cgi并且同时生成新的cache文本。分页的 tag 返回页面,用 tag/page 来表示分页。彻底静态化。
同理,后台搜索的 Search Results 模板(Template)做了大量的细致修改,以满足搜索返回的要求。
至于静态化,是通过.htaccess 进行重定位。代码如下:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !.html
RewriteCond %{REQUEST_URI} !(.*)/$
#RewriteCond %{REQUEST_FILENAME}.html !-f
RewriteRule ^(.*)$ /cgi-bin/mtos/tags_do.cgi/$1 [L]


具体演示参见以下链接:

另: Movable Type 已经 5.12 了。 升级还是不升级。这比较纠结。。。。

--EOF--