用户网站目录 - Apache 2.2 中文版参考手册

Apache HTTP Server 2.2

<-
   致谢 | 译者声明 | 本篇译者:金步国 | 本页最后更新:2006年1月9日 | 获取最新版本

用户网站目录

在多用户系统中,用UserDir指令可以允许每个用户在其宿主目录中拥有一个网络站点。使用URL http://example.com/~username/ 的访问者可以获得用户"username"的宿主目录中的内容或者用UserDir指定的子目录中的内容。

top
top

用UserDir设置文件路径

可以用UserDir指令指定被网络读取的用户网站目录。此指令有几种不同的形式。

如果路径没有前导斜杠,则被当作该用户宿主目录下的子目录。如果有以下配置:

UserDir public_html

则URL http://example.com/~rbowen/file.html 会被解释为文件路径:/home/rbowen/public_html/file.html

如果路径有前导斜杠,则用此路径和用户名构造路径。如果有以下配置:

UserDir /var/html

则URL http://example.com/~rbowen/file.html 会被解释为文件路径:/var/html/rbowen/file.html

如果路径中有星号(*),则星号部分会被用户名所取代。如果有以下配置:

UserDir /var/www/*/docs

则URL http://example.com/~rbowen/file.html 会被解释为文件路径:/var/www/rbowen/docs/file.html

top

限定哪些用户可以使用此功能

使用UserDir可以限定被允许使用此功能的用户:

UserDir enabled
UserDir disabled root jro fish

上述配置使除了列在disabled中的用户以外的所有用户都可以使用此功能。还可以禁止所有用户而只允许部分用户使用此功能,例如:

UserDir disabled
UserDir enabled rbowen krietz

更多的例子请参见UserDir文档。

top

启用对每个用户都有效的cgi目录

<Directory>指令可以指定每个用户主目录中的一个特定的目录为"允许cgi"的目录,使每个用户都可以拥有自己的cgi-bin目录。

<Directory /home/*/public_html/cgi-bin/>
Options ExecCGI
SetHandler cgi-script
</Directory>

这样"放肆的"设置使得UserDir被设置成public_html ,CGI程序example.cgi可以用下面的URL从那个目录加载:

http://example.com/~rbowen/cgi-bin/example.cgi

top

允许用户改变配置

用户可以通过.htaccess文件改变其网络空间的服务器配置,因此必须确保AllowOverride指令被正确设置,以限定用户只能使用被允许的指令。其细节请参见.htaccess指南