mod_speling not enabling case-insensitivity as expected

4.9k views Asked by At

I'm running Ubuntu 12 on two separate VPS accounts, and having the same problem on both.

  • I've enabled the speling module via "a2enmod speling".

  • I have both speling.load and speling.conf in /etc/apache2/mods-available, and they're both aliased in /etc/apache2/mods-enabled.

  • cat speling.conf yields "CheckSpelling on", and cat speling.load gives "LoadModule speling_module /usr/lib/apache2/modules/mod_speling.so"

  • I've also verified that /usr/lib/apache2/modules/ does indeed contain "mod_speling.so".

  • I've restarted Apache repeatedly.

And yet - if I mis-capitalize a word in a URL, I get a 404. Isn't "CheckSpelling on" meant to eliminate this? Perhaps I've misunderstood.

I feel sure I've missed some silly step, but can't think what.

3

There are 3 answers

0
Jammer On

It's most likely mod_rewrite interfering with mod_speling, as spelling is not checked for urls which match mod_rewrite rules.

Check your httpd.conf, site configuration as well as .htaccess files for mod_rewrite rules which might be matching the urls you are trying to make case-insensitive.

1
Michael Fever On

This wasn't working for me all of a sudden as well, after it running fine for many years.

I changed my configuation directives from:

 CheckSpelling on
 CheckCaseOnly on

To:

 checkspelling on
 checkcaseonly on

And now it works again. So make it all lowercase and see if that helps.

0
SSpoke On

If your httpd.conf looks like this
httpd.conf
Don't add

LoadModule speling_module modules/mod_speling.so

Even if that fixes the problem.. but rather go through all the directories of conf.modules.d folder and load up all the files and search for mod_speling.so, you'll find it in 00-base.conf and remove the # hashtag from it and it will load now.

module.d directories 00-base.conf with mod-speling.so LoadModule mod_speling.so fixed