Apache HTTP サーバ バージョン 2.4

| 説明: | ユーザ専用のディレクトリを提供 |
|---|---|
| ステータス: | Base |
| モジュール識別子: | userdir_module |
| ソースファイル: | mod_userdir.c |
このモジュールは、 http://example.com/~user/ 構文を使ってユーザ専用ディレクトリにアクセスできるようにします。
| 説明: | ユーザ専用ディレクトリの位置 |
|---|---|
| 構文: | UserDir directory-filename [directory-filename] ... |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト |
| ステータス: | Base |
| モジュール: | mod_userdir |
UserDir ディレクティブは、 ユーザのドキュメントへのリクエストを受けた時に使う ユーザのホームディレクトリ中の、実際のディレクトリを 設定します。 directory-filename には次のどれかを指定します:
disabled キーワード。 enabled キーワード (下記参照) で明示的に 指定されたユーザ以外の 全てのユーザ名-ディレクトリ変換を しないようにします。disabled キーワードと、スペース区切りのユーザ名リスト。 このリスト中に含まれるユーザ名に対しては、たとえ enabled 節にあったとしても、 決してディレクトリ変換は行われません。enabled キーワードとスペース区切りのユーザ名リスト。 全体では変換が無効になっていたとしても、 これらのユーザ名にはディレクトリ変換が行われます。 ただし、disabled 節にもあれば変換はされません。もし enabled も disabled キーワードも UserDir に現われていなければ、 引数はファイル名パターンとして扱われ、 名前からディレクトリへの変換の指定を行なう時に使われます。 http://www.example.com/~bob/one/two.html へのリクエストは次のように変換されます:
| UserDir ディレクティブ | 変換後のパス |
|---|---|
| UserDir public_html | ~bob/public_html/one/two.html |
| UserDir /usr/web | /usr/web/bob/one/two.html |
| UserDir /home/*/www | /home/bob/www/one/two.html |
次のディレクティブはクライアントに対してリダイレクトを 送信します:
| UserDir ディレクティブ | 変換後のパス |
|---|---|
| UserDir http://www.example.com/users | http://www.example.com/users/bob/one/two.html |
| UserDir http://www.example.com/*/usr | http://www.example.com/bob/usr/one/two.html |
| UserDir http://www.example.com/~*/ | http://www.example.com/~bob/one/two.html |
UserDir ./" は "/~root" から "/" へマップしますが、 これは望ましい動作ではないでしょう。 "UserDir disabled root" 宣言を 設定の中に含めておくことを強くお薦めします。 追加情報に Directory ディレクティブや セキュリティ Tips のページもご覧下さい。
追加の例:
少数のユーザのみが UserDir ディレクトリを利用し、それ以外には利用させたくない場合は 次を使いましょう:
UserDir disabled
UserDir enabled user1 user2 user3
大部分のユーザは UserDir ディレクトリを利用するけれど、 少数の人は不許可にしたい場合は、次を使いましょう:
UserDir enabled
UserDir disabled user4 user5 user6
他のユーザディレクトリを指定することもできます。 次のようなコマンドを使うと:
Userdir public_html /usr/web http://www.example.com/
http://www.example.com/~bob/one/two.html へのリクエストはまず ~bob/public_html/one/two.html のページを調べ、その次に /usr/web/bob/one/two.html を調べ、最後に http://www.example.com/bob/one/two.html へのリダイレクトを送ります。
リダイレクトを加える場合は、リストの最後の選択肢でなければなりません。 Apache はリダイレクトが成功するかどうかを決めることはできませんので、 リストの前の方にリダイレクトを書くと、それが必ず使用される選択肢に なってしまいます。
2.1.4 以降では、ユーザディレクトリ置換機能はデフォルトでは起動しません。 それ以前のバージョンでは、UserDir ディレクティブが存在しなければ、UserDir public_html であると仮定されていました。