MT的tag使用的是MT搜索功能实现的,所以要调用到mt-search.cgi这个文件,但是我们可以利用IIS下的ISAPI Rewrite来把这个静态话,对搜索引擎有一定的好处,但是还是调用mt-search.cgi这个文件,如果很多人访问,可能会造成很大的CPU消耗。
具体的办法是:
1、下载一个ISAPI_Rewrite,也可以从我这里下载。
2、放到服务器上,把这个目录设为everyone可执行的权限,否则使用的过程中会出问题。
3、修改MT模板中的文件,一共要修改三处。第一处是Template Modules里面的Tags模板,把
<a href="<$MTTagSearchLink$>&IncludeBlogs=<$MTBlogID$>" rel="tag">
改成
<a href="<$mt:BlogURL$>tag/<$MTTagName$>/" rel="tag" >
(根据自己在ISAPI_Rewrite里面设置的具体路径自己再做修改);第二处是Widgets里面的Tag Cloud文件和Search文件,也修改相应的链接地址。
具体的httpd.ini文件的内容如下:
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
RewriteRule /tag/(.*)/ /cgi-bin/mt-search\.cgi\?tag=$1&blog_id=1
RewriteRule /tag/(.*)/ /cgi-bin/mt-search\.cgi\?tag=$1&IncludeBlogs=1
规则挺简单的,改一下就OK。这个规则的优化结果大家可以看看本博客上面的tag的样子。
updated:增加Apache下的rewrite规则
Apache下可以使用下面的代码,在.htaccess上增加即可:
RewriteEngine on
RewriteRule ^tag/(.*)/$ /cgi-bin/mt-search.cgi?tag=$1&blog_id=1&IncludeBlogs=1 [L,QSA]