Spec-Zone.ru › Apache HTTP Server

Модуль Apache mod_speling

Описание: Пытается исправить ошибочные URL, игнорируя регистр символов или исправляя небольшие опечатки.
Статус: Расширение
Идентификатор модуля: speling_module
Исходный файл: mod_speling.c

Краткое описание

Иногда основной сервер Apache не может обработать запросы к документам, потому что в запросе допущена опечатка или неверно указан регистр символов. Этот модуль решает проблему, пытаясь найти подходящий документ, даже если все остальные модули уже отказались от поиска. Он сравнивает имя каждого документа в запрошенном каталоге с именем запрошенного документа, не учитывая регистр символов, и допускает до одной опечатки (вставку, пропуск или перестановку символа либо неверный символ). По этому принципу составляется список всех подходящих имён документов. Модуль также может исправить неверное расширение.

Если после проверки каталога

  • подходящий документ не найден, Apache продолжит работу как обычно и вернёт ошибку (404 - document not found).
  • найден только один документ, который «почти» соответствует запросу, он будет возвращён в виде ответа перенаправления (301 - Moved Permanently).
  • найдено несколько документов, близких к запрошенному, список совпадений будет возвращён клиенту, чтобы он мог выбрать подходящий вариант (300 - Multiple Choices).

Директива CheckBasenameMatch

Описание: Также учитывать файлы с отличающимися расширениями.
Синтаксис:
CheckBasenameMatch on|off
Значение по умолчанию:
CheckBasenameMatch On
Контекст: конфигурация сервера, виртуальный хост, каталог, .htaccess
Переопределение: Options
Статус: Расширение
Модуль: mod_speling
Совместимость: Доступна в httpd 2.4.50 и более поздних версиях

Если эта директива включена, исправление ошибок в имени распространяется и на расширение файла. Например, файл foo.gif будет соответствовать запросу foo или foo.jpg. Это может быть особенно полезно в сочетании с MultiViews.

Директива CheckCaseOnly

Описание: Ограничивает действие модуля speling исправлением регистра символов
Синтаксис:
CheckCaseOnly on|off
Значение по умолчанию:
CheckCaseOnly Off
Контекст: конфигурация сервера, виртуальный хост, каталог, .htaccess
Переопределение: Options
Статус: Расширение
Модуль: mod_speling

Если эта директива включена, исправление ошибок ограничивается изменением регистра символов на нижний или верхний. Другие возможные исправления не выполняются, кроме случая, когда также включена директива CheckBasenameMatch.

Директива CheckSpelling

Описание: Включает модуль проверки орфографии
Синтаксис:
CheckSpelling on|off
Значение по умолчанию:
CheckSpelling Off
Контекст: конфигурация сервера, виртуальный хост, каталог, .htaccess
Переопределение: Options
Статус: Расширение
Модуль: mod_speling

Эта директива включает или отключает модуль проверки орфографии. При включении учитывайте, что

  • проверка каталога, необходимая для исправления ошибок, повлияет на производительность сервера, если одновременно потребуется исправить много ошибок.
  • деревья документов не должны содержать конфиденциальные файлы, которые могут быть случайно выбраны при «исправлении» написания.
  • модуль не умеет исправлять ошибки в именах пользователей (как в http://my.host/~apahce/), а только в именах файлов или каталогов.
  • исправление ошибок применяется строго к существующим файлам, поэтому запрос для <Location /status> может быть ошибочно обработан как запрос к согласованному файлу «/stats.html».

Директиву mod_speling не следует включать в каталогах с поддержкой DAV, поскольку модуль будет пытаться «исправлять» имена новых ресурсов, сверяя их с существующими именами файлов. Например, при попытке загрузить новый документ doc43.html запрос может быть перенаправлен к существующему документу doc34.html, что не соответствует ожидаемому поведению.

© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_speling.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API