mod_speling module tries to correct misspelled URLs by performing case-insensitive filename search in requested folder or allowing one misspelling (character insertion/omission/transposition or wrong character).

If, after scanning the folder,

  • no matching document is found, Ape proceeds as usual and returns a "document not found" error
  • only one document is found that "almost" matches the request, it is returned in the form of a redirection response
  • more than one document with a close match is found, then the list of the matches is returned to the client and the client can select the correct option

Quick start

This line is enough to have mod_speling working on your site:

CheckSpelling On

Related articles and topics


Name Context Description
CheckCaseOnly S V D .h limits actions of the module to case-insensitive search only
CheckSpelling S V D .h enables mod_speling module functionality
CheckBaseName S V D .h checks filename without extension


CheckCaseOnly directive enabled (on) limits the scope of actions of the mod_speling module to lower/upper case changes. Other possible corrections are not performed.


CheckCaseOnly On|Off


CheckCaseOnly Off


CheckCaseOnly On


CheckSpelling directive enables mod_speling module functionality.


CheckSpelling On|Off


CheckSpelling Off

When enabled, keep in mind that

  • the directory scan needed for spelling correction may affect the server's performance when many spelling corrections are performed at a time
  • the document trees should not contain sensitive files which could be matched unintendedly by a spelling "correction"
  • the module is unable to correct misspelled user names - only filenames or folder names
  • spelling corrections are applied strictly to existing files, so a request for /status may be incorrectly treated as "/stats.html" file.


CheckSpelling On


CheckBaseName directive performs an extension-insensitive filename check, i.e. if the requested filename exactly matches some existing file in the target folder but their extensions are different, this existing file is shown in response.


CheckBaseName On|Off


CheckBaseName Off

Note! This directive is not supported in Apache but such functionality may be realized by recompiling the module with certain parameters.


CheckBaseName On