[[!comment format=mdwn username="mathdesc" subject="For lighttpd with mod_magnet" date="2012-08-18T18:27:32Z" content=""" Same can be done for lighttpd via a lua script (said rewrite.lua) using *mod_magnet* than need to be installed and called in your conf like this :
# error-handler for status 404 $HTTP[\"url\"] =~ \"^/mysite/\" { magnet.attract-physical-path-to = ( server.document-root + \"/rewrite.lua\" ) }Ref : [[mod_magnet docs|http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModMagnet]]
function removePrefix(str, prefix) return str:sub(1,#prefix+1) == prefix..\"/\" and str:sub(#prefix+2) end attr = lighty.stat(lighty.env[\"physical.path\"]) local prefix = '/mysite' if (not attr) then -- we couldn't stat() the file -- let's generate a xapian query with it new_uri =removePrefix(lighty.env[\"uri.path\"], prefix) print (\"page not found : \" .. new_uri .. \" asking xapian\") lighty.env[\"uri.path\"] = \"/mysite/ikiwiki.cgi\" lighty.env[\"uri.query\"] = \"P=\" .. new_uri lighty.env[\"physical.rel-path\"] = lighty.env[\"uri.path\"] lighty.env[\"physical.path\"] = lighty.env[\"physical.doc-root\"] .. lighty.env[\"physical.rel-path\"] endHope this is useful to you :) """]]