URLs shouldn't really contain file extensions (like Doing the same for static files (i.e. files served directly by the webserver)
isn't straightforward because most webservers use the file extension to
determine the MIME type to send in the I decided to try find a solution to this for my webserver of choice,
Lighttpd. Lighttpd has a module which embeds a [Lua][] interpreter and
allows you to write scripts which modify (or even handle) requests. So I wrote
a [script][] which searches the directory for files with the same name as
requested but with an extension. This means that any file can be accessed with
the file extension removed from the URL while still having the correct
The script currently chooses the first matching file, which means that having
multiple files with the same name but different extensions doesn't do anything
useful. The proper method however is to actually do [content negotiation][],
which chooses the format based on the preferences indicated by the HTTP client
in the To use this script, download it and save it somewhere (I use
Trackback URL for this post:https://michael.gorven.za.net/trackback/1486
|
|||||||
I have now written a script
I have now written a script which implements proper content negotiation.