KingCMS 3.0 是一款十分经典的 ASP CMS 程序。由于 KingCMS 程序以小巧、高效著称,同时它是对 SEO 支持得最完美的程序之一。从模板机制的每个细节,都充分考虑到 SEO 所需要的调用和应用。

KingCMS 现在已经全面转向 PHP 平台了,但是 ASP 版本仍然有大量的用户群。特别是企业用户,一般企业网站不会有太大的信息量,对于这种企业网站的应用 KingCMS 绰绰有余。因为 KingCMS 的 SEO 口碑不错,很多建站公司首选这款小巧的程序进行建站。同时,笔者也发现不少企业网站用某个系统做了主站,同时在根目录下面新建一个目录,比如 blog,然后就架设一个 z-blog 程序,每天在 z-blog 更新。因为 z-blog 是生成纯静态页面的,配置和更新也简单,很受欢迎。

这种更新是有一定的技巧,也有一定的效果,但是不方便。第一、整个企业网站有两个后台;第二、z-blog 更新的内容不能调用到主站,也就是首页上面,至少不能立即自动生成。类似 z-blog 这种结构,KingCMS 完全可以构建出来,除了类似 z-blog。KingCMS 3.0 有一个论坛模型,这个论坛模型支持前台发帖,不用登录网站后台也能发帖,很是方便。

因为是 KingCMS 集成自带的模型,所以调用之类的非常方便,在论坛发帖,首页即时能生成静态。这些优点当然是非集成系统无法比拟的。优点是很多,但是 KingCMS 的论坛也有一点缺点,就是论坛的编辑器自动生成的链接是带跳转的,这种设计是合理的,对于论坛公开给所有人使用就是合理的,毕竟可以防止垃圾链接,但是自用就有点多余了。

具体而言,比如在论坛的编辑器增加一个链接:http://www.kingcms.com/,那么论坛的编辑器会自动替换地址的:http://www.abc.com/page/link.asp?url=http://www.kingcms.com/,这样就通过link.asp来跳转到目的地址了。如果想做内链,这样跳转是没有任何作用的,所以我们需要修改一下,让它支持内链,比如内部连接/kingcms.html,如果还是http://www.abc.com/page/link.asp?url=/kingcms.html,无法产生内链/kingcms.html的作用。

以下修改方法 CiBill 提供。

修改的地方

找到 admin/inc/fun.asp,找到第 2261 行:
I1=I2.replace(I1,"<a href="""&king.inst&king.path&"/link.asp?url=$2"" target=""_blank"">$10</a>")

在后面加上

I2.pattern="(\[url=)(.+?)\]+(.+?)(\[\/url\])"
I1=I2.replace(I1,"<a href=""$2"" target=""_blank"">$3</a>")

这两句就是加上了一个判断,如果是内链,就不加 link.asp 再跳转的,如果是外链,就不变,按照原来的输出。如果区分外链和内链呢?就是有人为加上 http 和不加 http 的就行了。