Try the Apache server. Start at http://www.apache.org/ .
The documentation suggests it would support this feature:
Apache server Content arbitration: MultiViews and *.var files
Wed May 3 14:30:08 1995
http://www.apache.org/docs/content-negotiation.html
Type map files have an entry for each available variant; these
entries consist of contiguous RFC822-format header lines.
Entries for different variants are separated by blank lines. Blank
lines are illegal within an entry. It is conventional to begin a
map file with an entry for the combined entity as a whole, e.g.,
URI: foo; vary="type,language"
URI: foo.en.html
Content-type: text/html; level=2
Content-language: en
URI: foo.fr.html
Content-type: text/html; level=2
Content-language: fr