Apache HTTP サーバ バージョン 2.4

Apache > HTTP サーバ > ドキュメンテーション > バージョン 2.4 > モジュール

# Apache モジュール mod_speling

この日本語訳はすでに古くなっている 可能性があります。 最近更新された内容を見るには英語版をご覧下さい。

説明: | ユーザが入力したであろう間違った URL を、 大文字小文字の区別を無視することと一つ以下の綴り間違いを許容することで 修正を試みる
ステータス: | Extension
モジュール識別子: | speling_module
ソースファイル: | mod_speling.c

### 概要

リクエストの綴りが間違っていたり、 大文字小文字が違っていたりするために、Apache のコアサーバが ドキュメントへのリクエストへの応答を正しく提供できないことがあります。 このモジュールは、他のすべてのモジュールがあきらめた後であったとしても、 リクエストに合うドキュメントを見つけようとすることによりこの問題の 解決を試みます。このモジュールはリクエストされたディレクトリにある それぞれのドキュメントの名前と、リクエストされたドキュメントの名前とを 大文字小文字の区別を無視し、一文字までの 綴りの間違い (文字の挿入/省略/隣合う文字の置換、間違った文字) を許可して比較することにより、目的を達成しようとします。 この方法でリクエストに合うドキュメントの一覧が作成されます。

ディレクトリをスキャンした後に、

- 適切なドキュメントが見つからなかった場合、 Apache はいつもと同じように処理をし、 「ドキュメントが見つからない」というエラーを返します。
- リクエストに「ほとんど」合うドキュメントが一つだけ見つかった場合、 それがリダイレクト応答として返されます。
- よく似たドキュメントが複数見つかった場合、 そのリストがクライアントに返され、 クライアントが正しい候補を選択できるようにします。

### ディレクティブ

### Bugfix checklist

- httpd changelog
- Known issues
- Report a bug

## CheckCaseOnly ディレクティブ

説明: | 大文字小文字の修正だけ行うようにする
構文: | `CheckCaseOnly on|off`
デフォルト: | `CheckCaseOnly Off`
コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess
上書き: | Options
ステータス: | Extension
モジュール: | mod_speling

このディレクティブがセットされると、 綴り訂正機能は大文字小文字の修正のみ働き、他の修正機能は働きません。

## CheckSpelling ディレクティブ

説明: | spelling モジュールを使用するようにする
構文: | `CheckSpelling on|off`
デフォルト: | `CheckSpelling Off`
コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess
上書き: | Options
ステータス: | Extension
モジュール: | mod_speling
互換性: | CheckSpelling は Apache 1.1 では別配布のモジュールで、 大文字小文字の間違いのみの機能でした。Apache 1.3 で Apache の配布に 含まれるようになりました。Apache 1.3.2 より前では `CheckSpelling` ディレクティブは「サーバ」と「バーチャルホスト」コンテキストでのみ 使用可能でした

このディレクティブは綴り用のモジュールを使用するかどうかを 決めます。使用時には、以下のことを覚えておいてください

- 同時にたくさんの綴りの訂正を行なわなければならないときは、 そのために行なわれるディレクトリのスキャンがサーバの性能に 影響を与えます。
- ドキュメントの中に綴りの「訂正」により 意図せず合ってしまうような重要なファイルがないようにしてください。
- モジュールはユーザ名の綴りの間違い (`http://my.host/~apahce/` のように) を訂正することはできません。 訂正できるのはファイル名とディレクトリ名だけです。
- 綴りの訂正は存在するファイルに厳密に適用されますので、 `<Location /status>` はネゴシエーションの結果のファイル "`/stats.html`" として間違って扱われるかもしれません。

DAV が有効なディレクトリでは `mod_speling` は有効にしないでください。 新しく作成したリソース名を既に存在するファイル名に「修正」しようとする、 例えば、新規ドキュメント `doc43.html` が既に存在する `doc34.html` にリダイレクトされて、 期待とは違う挙動になるからです。