mod_speling’s Poor Spelling

Apache‘s mod_speling does two things. One thing it does is fold case, making URIs case-insensitive. This is handy when users are moving files between case-insensitive, but preserving, and case-sensitive filesystems. The other thing it does is try to correct spelling errors. It does this latter by finding off-by-one variations of the name requested. Suppose, for example, that I have a file foo and inadvertently request foob, it will assume that I meant foo and return that file.

This is not a good idea in practice, because files often differ, significantly, by one character. What’s worse, when joined with DAV, it provides you with the ability accidentally overwrite that resource you wanted to save.

So, you want to separate out the helpful case-folding feature from the dangerous spelling correction feature.