Spice up for error page

Posted by jan Sun, 28 Aug 2005 23:59:00 GMT

lighttpd isn’t beautiful when it shows the user that a file is not available.

When I wrote it I want to make sure to don’t show any information that might be used for XSS attacks like displaying the URL unencoded, show local paths, ... something like that. I used the simplest approach: Just show the status.

This is not pretty, but works. But I assume you want something more sexy.

There are two ways to handle the output of a error page.

  • server.errorfile-prefix
  • server.error-handler-404

The first is used to use a local, static file as the payload for the status pages.

  • create a directory
  • put into that directory a file name 404.html
  • set server.errorfile-prefix do the directory name including the trailing slash

The file has to be a static HTML file (no PHP, ...). thinking If you already have a set of nice looking error-pages perhaps you can provide them for other users. The lighty-errorpage-theme-packages.

The other way is to use the error-handler which only works for the file-not-found case. The job of the error-handler is to do something intelligent with the request. Possible use-cases are:

  • Use http://www.example.org/search%20term as the direct entry to the search-page like in http://php.net/upload or http://dev.mysql.com/slow query log
  • Use http://www.example.org/cached-page to do simple caching. If the requested file doesn’t exist, let the handler generate it. The next request will get the static version.

This makes it pretty flexible.