Since setup of lighttpd in my test server, it seems working pretty fine. However, without the index.php specified in the url, it does not work. Lighttpd definitely supports rewrite rules, as I see an module named mod_rewrite in lighttpd config file.

After a bit of searching around and failure and trial, I finally got it working.

The key point is that rewrite rules in lighttpd does not work under $HTTP["url"], so this is what I got working finally:

url.rewrite-once = (
"^/ez38/.*\.(css|html|htm|pdf|js|png|gif|jpe?g|ico)(\?.*)?" => "$0",
"^/ez38/.*" => "/ez38/index.php"
)

Note: the ez publish is installed under /ez38/ of the document root, and you may want to change it. If you install ez under your root, just replace "/ez38/" with "/".

if you want to use SJSD with lighttpd, then you should have something like this:

url.rewrite-once = (
"^/ez38/.*\.(css|html|htm|pdf|js|png|gif|jpe?g|ico|xml)(\?.*)?" => "$0",
"^/ez38/.*" => "/ez38/index.php"
)

UPDATE (29/May/2006): *.ico should not be rewriten to index.php