Apache content negotiation has an option MultiViewsthat makes a file accessible without its extension:
The effect of MultiViews is as follows: if the server receives a request for / some / dir / foo, if / some / dir has MultiViews enabled and / some / dir / foo does not exist, then the server reads the directory looking for files named foo. *, and effectively fakes a type card that names all of these files, assigning them the same types of media and content encodings that it would have if the client asked one of them by name. He then chooses the best fit for the client.
source
share