I recently installed Social Engine on a server that uses Lighttpd instead of Apache.  Social Engine uses an htpasswd file for URL rewriting.  This is how I was able to implement the same rules.  This is what my lighttpd conf looks like for this host:

server.name          = "connectedthreadz.org"  
server.document-root = "/var/www/connectedthreadz.com/trunk/htdocs"  
accesslog.filename   = "/var/www/connectedthreadz.com/log/access_log"  
index-file.names     = ("index.php", "index.html", "index.shtml")

url.rewrite-once = (  
   "(^/index\.php/admin.*)" => "$1",
   "^/(admin/.*)" => "/index.php/$1",
   "(^/install.*)" => "$1",
   "^/index\.php(\?(.*))?" => "/index.php?rewrite=2&$2",
   "/(\?(.*))?$" => "/index.php?rewrite=1&$2",
)
url.rewrite-if-not-file = (  
   "/?(\?(.*))?$" => "/index.php?rewrite=1&$2",
   ".*" => "/index.php?rewrite=1",
)