• Lighttpd 下设置 Discuz 的 URL 静态化实践
    时间:2008-12-28   作者:佚名   出处:互联网

    Discuz 需要的运行平台是 Apache、PHP、MySQL,而我为了提升他的性能,最终选用了轻量级的 HTTP 服务器 Lighttpd,并利用 FastCGI 方式来运行 PHP 的脚本,最后为了这个论坛特意开了一个独立的 MySQL 服务器实例。

    速度相当的理想,后来在管理后台的时候意外地看到,原来 Discuz 还支持将 URL 静态化的功能。一般情况下,Discuz 都是直接调用 PHP 程序来生成页面的,而静态化的 URL 能更有效地被搜索引擎收集,亦可以被最前端的缓存服务器缓存起来,可谓好处多多。

    查了手册发现,支持该功能需要在 Aapche 里打开 Rewrite 功能,而我这个用的是 Lighttpd 服务器。经过实践,终于在 Lighttpd 下也支持 URL 的静态化了。

    在 Lighttpd创建virtual/5le_bbs.conf文件,www.conf配置文件里面加上一行include "virtual/5le_bbs.conf"。
    5le_bbs.conf内容如下,只需要将 "^bbs\.5le\.cc$" 换成你的域名即可。

    $HTTP["host"] =~ "^bbs\.5le\.cc$" {
            url.rewrite-once = (
                   "^(.*)/archiver/([a-z0-9\-]+\.html)$" => "$1/archiver/index.php?$2",
                   "^(.*)/forum-([0-9]+)-([0-9]+)\.html$" => "$1/forumdisplay.php?fid=$2&page=$3",
                    "^(.*)/space-uid-([0-9]+)\.html$" => "$1/space.php?uid=$2",
                    "^(.*)/space-username-(.+)\.html$" => "$1/space.php?username=$2",
                   "^(.*)/tag-(.+)\.html$"  =>  "$1/tag.php?$2",
                   "^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$" => "$1/viewthread.php?tid=$2&extra=page\%3D$4&page=$3",
                   "^(.*)/profile-(username|uid)-(.+)\.html$" => "$1/viewpro.php?$2=$3"
            )
    }

    网友留言/评论

    我要留言/评论