Apache HTTP Server 版本 2.4
描述 | 用户特定目录 |
---|---|
状态 | 基础 |
模块标识符 | userdir_module |
源文件 | mod_userdir.c |
此模块允许使用 http://example.com/~user/
语法访问用户特定的目录。
描述 | 用户特定目录的位置 |
---|---|
语法 | UserDir directory-filename [directory-filename] ... |
上下文 | 服务器配置,虚拟主机 |
状态 | 基础 |
模块 | mod_userdir |
指令设置用户主目录中的实际目录,当接收到对用户文档的请求时使用。Directory-filename 是以下之一UserDir
disabled
。这将关闭所有用户名到目录的转换,除了使用 enabled
关键字显式命名的转换(见下文)。disabled
后跟一个空格分隔的用户列表。出现在此类列表中的用户名永远不会执行目录转换,即使它们出现在 enabled
子句中。enabled
后跟一个空格分隔的用户列表。即使全局禁用生效,这些用户名也将执行目录转换,但如果它们也出现在 disabled
子句中,则不会执行。如果
指令中既没有出现 Userdir
enabled
关键字,也没有出现 disabled
关键字,则参数将被视为文件名模式,并用于将名称转换为目录规范。对 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
指令和 安全提示 页面以了解更多信息。
其他示例
要允许少数用户拥有 UserDir
目录,但其他用户不允许,请使用以下方法
UserDir disabled UserDir enabled user1 user2 user3
要允许大多数用户拥有 UserDir
目录,但拒绝少数用户,请使用以下方法
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 httpd 无法确定重定向是否成功,因此,如果您在列表中更早地放置重定向,那么它将始终是使用的备用项。
在 2.1.4 及更高版本中,用户目录替换默认情况下处于非活动状态。在早期版本中,如果不存在
指令,则假定 UserDir
UserDir public_html
。
特定启用和禁用用户的列表将被替换,而不是从全局范围合并到虚拟主机范围