MediaWiki生成纯静态HTML页面的网站,彻底脱离MySQL数据库
来自Jamesqi
--James Qi 2010年2月26日 (五) 09:58 (CST)
DumpHTML与FileCache
很早前就知道MediaWiki可以生成纯静态HTML页面的网站,脱离MySQL数据库后都可以作为静态页面网站正常运行,甚至可以放到自己的硬盘上或者刻成光盘分发,Wikipedia就有这样的静态版本页面以及光盘版本。
上面说的静态页面是使用DumpHTML的扩展程序来实现的,与启用FileCache文件缓存的方式是不同的,两者的主要区别:
- 是否可以独立于数据库运行:DumpHTML生成的静态页面网站可以离开数据库运行,FileCache方式仍然需要PHP、MySQL和MediaWiki环境
- 是否与原MediaWiki网站的URL一样:DumpHTML生成的静态页面放在新的多层目录结构下,网站都改变了,FileCache方式URL不会变
- 是否包含“特殊页面”、“编辑”、“历史”等链接:DumpHTML生成的静态页面是纯浏览用,这些链接都无效,FileCache方式包含这些链接
试用DumpHTML扩展的笔记
我以前在MediaWiki-1.10等老版本中简单测试过,发现可以生成静态页面,可是目录出现乱码,就没有继续管了。最近一段时间测试国外的虚拟主机空间、添加大量邮政编码数据库等工作,发现老是折腾大数据量的MySQL数据库还是有些麻烦的,而且一些数据更新周期很长,并不需要实时性,想到再把这个功能试一试。
MediaWiki-1.12以后这个原来在maintenance中的程序独立出来,做成一个扩展:Extension:DumpHTML,我测试了一下,可以成功生成静态页面网站,几点笔记:
- 目录乱码的问题:在Linux下用UTF-8可以做目录和文件名称,但Windows下不认识,可以使用修改的版本生成MD5-hashed版本名称来适应,但我不准备放在Windows下使用,所以就用默认的就可以放在Linux服务器上发布静态页面网站;
- 压缩版本的问题:与FileCache类似,DumpHTML也可以生成*.html.gz的压缩文件,但放在服务器上浏览时却提示下载,听说可以修改Apache的Mime设置来解决,但我反复测试还是没有生成,等待后面再设法解决;
- 皮肤设置的问题:可以指定采用的皮肤名称,一般都用与动态网站一样的monobook,这样Monobook.php中做的修改都可以保留到静态页面中,注意不要在Monobook.php中包含其他.php文件,否则调用的内容会丢失。
待解决及待应用
这个功能还没有更全面的测试,例如:
- LocalSettings.php中的修改是否有效
- JavaScript调用广告和地图是否正常
- 如何来搜索、如何解决特殊页面
- 附加的MediaWiki:Common.css和MediaWiki:Monobook.css是否有效
- 如何来生成Sitemap
- 等等
这些问题等待以后实施的时候尝试、解决。
可以考虑将数据量巨大而数据更新周期很慢甚至不变的信息通过MediaWiki的这个DumpHTML功能来做成纯静态页面的网站,这样很便于放置到任何网站空间中,不需要MySQL、PHP和MediaWiki的支持。感觉还是很有用的,具体应用还在考虑中。
标签:MediaWiki、HTML、MySQL、网站、数据库。 |
相关内容:
|