Why is there a file named .extended-spelling-corrections in my website directory?

Some hosting customers who have been with us since 2005 or earlier may notice a file named .extended-spelling-corrections in their website directory.

The presence of this file previously made our web servers use “extended spelling correction” when trying to locate filenames that don’t exist, but no longer has any effect. It can be ignored or deleted.

What did “extended spelling correction” used to do?

Extended spelling correction tried to fix these two situations:

  • A URL ending in .htm was requested, but the filename actually ended with .html (or vice-versa);
  • A URL including a hyphen was requested, but the filename actually contained an underscore (or vice-versa).

Before May 2017, it used to also try to fix transpositions, missing characters, and other character substitutions. This may sound like a beneficial feature, but some of the things it did could be very surprising. For example, if the web server received a request for http://example.com/file2.html, but file2.html didn’t exist because you forgot to upload it, the extended spelling correction feature might display file1.html or file3.html instead, seemingly at random and with no indication that anything was wrong. That’s not what you want, especially because the “fix” might prevent you from noticing the problem unless you were looking closely.

Similarly, if a page embedded an image called product1.png but only product2.png existed on the server, it would silently display the second image to the visitor instead. That might cause a shopper to see an incorrect product image on a website, which is probably worse than seeing an error message.

Because of the surprising results this feature caused, we stopped enabling any kind of extended spelling correction for customers who signed up for our web hosting service after May 2005. It was still enabled for customers who signed up with us before then, though.

Even for longtime customers, we removed most kinds of extended spelling correction in May 2017, and completely disabled all extended spelling correction in July 2022. But before we did that, we manually logged all corrections it had made on existing sites over several months, then duplicated those corrections in the site’s .htaccess file. For example, if extended spelling correction had been changing requests for a nonexistent page12.htm to page11.htm, we added a line like this:

Redirect 301 /page12.htm /page11.htm

It’s difficult to know if that’s what’s “supposed” to happen, but it matches what was happening previously. It ensures that any customers who were relying on this feature will get the benefit of existing “corrections”, without any newly added incorrect URLs being wrongly “corrected”.