lighttpd配置rewrite

把服务器的apache换成lighttpd了。都是yum上去的。PHP也升级到5.3,PHP对象的get方法好用多了。所以PHP升级到这个版本。

lighttpd比apache要轻一些,但rewrite是不支持apache的.htaccess,你可以写一个脚本把htaccess转成lighttpd的规则。Google上有两个大神把它实现成了ruby和perl。本着懒的原则,我没有采用他们的方案,而是找最简便的方案。当然,未果。
只能把规则写到lighttpd配置里了。

所以lighttpd是不适合现在国内大部分虚拟主机供应商的。IDC还是apache比较妥当。
像我这样一台小机子自己管着的,还是可以玩玩的。

大部分东西在lighttpd的mod_rewrite文档里有写。要做的就是技巧。
比如apache的rewrite里可以用 -f 和 -d 来表示一个真实的文件或目录(当然在linux下万物皆文件)。lighttpd则是用url.rewrite-if-not-file来保证,但这条配置是在1.4.24版本之后才被支持。于是要用神奇的一招:

url.rewrite-once = (
“/(.*)\.(.*)” => “$0”,    //关键的一行
“^/(.+)/?$” => “/index.php/$1”
)

Copyright © 2010. All Rights Reserved.

发表评论

电子邮件地址不会被公开。 必填项已用*标注