Lighty

GreatWebGuy.com is now running on Lighttpd or “Lighty” 1.5 and WordPress 2.2. The biggest hurdle we had to overcome running our blog with the Lighty http server was the rewrite rules for our custom Permalink structure – /%category%/%postname%/ – none of the rewrite rules posted on the web seemed to work correctly. If you get the rules right, you should be able to accomplish the pretty urls that you want with 5 or fewer rewrite rules, I’ve seen some examples on the web with as few as 4 and as many as 30. We also ran into problems with the version numbers included in the querystring of the internal javascript urls in WordPress, it turned out they were being rewritten unintentionally.

These may work or not for your setup, a couple of things to note when writing rewrite rules:

  • Start your rule set with areas you know need to be excluded, not rewritten, and write rules that result in => “$0″
  • Work your way from specific rules to more generic and all encompassing rules
  • Attempt to break the rules down into as few rules as possible, realize rule interpretation causes load on the http server
  • Use rewrite-once so that Lighty will stop processing rules when it’s found a match
 url.rewrite-once = (
"^/(wp-.+).*/?" => "$0",
"^/(sitemap.xml)" => "$0",
"^/(xmlrpc.php)" => "$0",
"^/keyword/([A-Za-z_0-9\-]+)/?$" => "/index.php?keyword=$1",
"^/.*?(\?.*)?$" => "/index.php$1"
)