I recently had to migrate a large chunk of content from a Windows server to Linux. Linux’s file system is case sensitive, Windows is not, so I ended up with a lot of broken links. A solution is to use Apache’s mod_speling. I only wanted to use the capitalisation capabilities of mod_speling, not the spelling variations. I enabled the module, which is off by default, and entered the configuration in the virtual host conf, the site conf, the .htaccess file, but nothing seemed to work.
The trick was that you need both options to be on, not just CheckCaseOnly. So for capitalisation only you would put the following in your .htaccess file.