Apache HTTP サーバ バージョン 2.4
![](feather.png)
Apache モジュール mod_userdir
説明: | ユーザ専用のディレクトリを提供 |
---|---|
ステータス: | Base |
モジュール識別子: | userdir_module |
ソースファイル: | mod_userdir.c |
概要
このモジュールは、
http://example.com/~user/
構文を使ってユーザ専用ディレクトリにアクセスできるようにします。
UserDir ディレクティブ
説明: | ユーザ専用ディレクトリの位置 |
---|---|
構文: | 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
であると仮定されていました。