Forum Moderators: phranque
I've read through the Apache mod_speling [httpd.apache.org] info page, but fail to see where/if I can control this. Either my host changed things on their server config, or one of the dozens of edits I've done lately in my .htaccess is to blame. Anyone have an idea? Thanks.
This probably depends on exactly which URL you misspell. The choices appear if the misspelt URL cannot be corrected unambiguously. From the mod_speling document:
If, after scanning the directory,no matching document was found, Apache will proceed as usual and return a "document not found" error. only one document is found that "almost" matches the request, then it is returned in the form of a redirection response. more than one document with a close match was found, then the list of the matches is returned to the client and the client can select the correct candidate.
Testing with:
h*tp://www.example.com/blah returned the choices page, even though there is a: h*tp://www.example.com/blah.html (pretty darn close I'd say) and no other page name even close. <added>
Actually, only one choice was offered on the Choices page, so why didn't it just redirect?
</added>
So maybe the file type needs to be present. The mod_speling can associate page names but not make the leap to matching file types?
Are you sure you don't have a subdirectory with a name close to "blah"? That's the only other thing I can think of. I've never used mod_speling myself because of the overhead and the fact that I've just never had many 'wrong URLs' requested (that didn't deserve a 404), so I don't know how well it works. But it sounds like something's got it confused.
Jim
Jim