Apache HTTP服务器 2.0版本
在多用户系统中,用UserDir
指令可以允许每个用户在其宿主目录中拥有一个网络站点。使用URL
http://example.com/~username/
的访问者可以获得用户
"username
"的宿主目录中的内容,或者用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
使用UserDir可以限定被允许使用此功能的用户:
UserDir enabled
UserDir disabled root jro fish
上述配置使除了列在disabled
中的用户以外的所有用户可以使用此功能。同时,还可以禁止所有用户而允许部分用户使用此功能,例如:
UserDir disabled
UserDir enabled rbowen krietz
更多的例子请参见UserDir
。
<Directory>
指令可以指定用户宿主目录中的一个特定的目录为“允许cgi的(cgi-enabled)”,使每个用户拥有自己的cgi-bin目录。
<Directory /home/*/cgi-bin/>
Options ExecCGI
SetHandler cgi-script
</DirectoryMatch>
用户可能通过.htaccess
文件改变其网络空间的服务器配置,因此必须确保AllowOverride
指令被正确设置,以限定用户只能使用被允许使用的指令。其细节请参见.htaccess tutorial。