mod_userdir

mod_userdir 允许您通过 http://domain/~user/ 访问用户特定的文档根目录。

文档根目录可以通过使用用户的主目录来构建,该主目录在请求路径的开头由 /~username/ 指定。
此外,mod_userdir 还可以从类似于 vhost.pattern 的模式构建文档根目录,但使用用户名而不是主机名。

userdir (操作)

通过将路径中的某些占位符替换为用户名(或其部分)来构建文档根目录。

userdir path;
路径
用于构建文档根目录的路径

如果 path 不是以斜杠 (/) 开头,那么文档根目录将以 /etc/passwd 中指定的给定用户的主目录作为前缀。
否则,path 指定要使用的绝对文档根目录。

占位符有

  • * 被完整的用户名替换
  • $1-$9 被用户名的第 n 个字母替换,例如 $2 是第二个字母

示例

请求 http://host/~lighty/foo.html(假设 “/home/lighty” 是 “lighty” 用户的家目录)

路径 文档根目录 物理路径
“public_html” /home/lighty/public_html/ /home/lighty/public_html/foo.html
“/usr/web/*/” /usr/web/lighty/ /usr/web/lighty/foo.html
“/usr/web” /usr/web/lighty/ /usr/web/lighty/foo.html
“/www/users/$1/$1$2/*/” /www/users/l/li/lighty/ /www/users/l/li/lighty/foo.html

注意:出于安全原因,不允许使用用户名“root”。

示例

setup {
	module_load "mod_userdir";
}

userdir "public_html";