Apache HTTP Server 版本2.2

在多用戶(hù)系統(tǒng)中,用UserDir指令可以允許每個(gè)用戶(hù)在其宿主目錄中擁有一個(gè)網(wǎng)絡(luò)站點(diǎn)。使用URL http://example.com/~username/ 的訪問(wèn)者可以獲得用戶(hù)"username"的宿主目錄中的內(nèi)容或者用UserDir指定的子目錄中的內(nèi)容。
| 相關(guān)模塊 | 相關(guān)指令 |
|---|---|
可以用UserDir指令指定被網(wǎng)絡(luò)讀取的用戶(hù)網(wǎng)站目錄。此指令有幾種不同的形式。
如果路徑?jīng)]有前導(dǎo)斜杠,則被當(dāng)作該用戶(hù)宿主目錄下的子目錄。如果有以下配置:
UserDir public_html
則URL http://example.com/~rbowen/file.html 會(huì)被解釋為文件路徑:/home/rbowen/public_html/file.html
如果路徑有前導(dǎo)斜杠,則用此路徑和用戶(hù)名構(gòu)造路徑。如果有以下配置:
UserDir /var/html
則URL http://example.com/~rbowen/file.html 會(huì)被解釋為文件路徑:/var/html/rbowen/file.html
如果路徑中有星號(hào)(*),則星號(hào)部分會(huì)被用戶(hù)名所取代。如果有以下配置:
UserDir /var/www/*/docs
則URL http://example.com/~rbowen/file.html 會(huì)被解釋為文件路徑:/var/www/rbowen/docs/file.html
使用UserDir可以限定被允許使用此功能的用戶(hù):
UserDir enabled
UserDir disabled root jro fish
上述配置使除了列在disabled中的用戶(hù)以外的所有用戶(hù)都可以使用此功能。還可以禁止所有用戶(hù)而只允許部分用戶(hù)使用此功能,例如:
UserDir disabled
UserDir enabled rbowen krietz
更多的例子請(qǐng)參見(jiàn)UserDir文檔。
<Directory>指令可以指定每個(gè)用戶(hù)主目錄中的一個(gè)特定的目錄為"允許cgi"的目錄,使每個(gè)用戶(hù)都可以擁有自己的cgi-bin目錄。
<Directory /home/*/public_html/cgi-bin/>
Options ExecCGI
SetHandler cgi-script
</Directory>
這樣"放肆的"設(shè)置使得UserDir被設(shè)置成public_html ,CGI程序example.cgi可以用下面的URL從那個(gè)目錄加載:
http://example.com/~rbowen/cgi-bin/example.cgi
用戶(hù)可以通過(guò).htaccess文件改變其網(wǎng)絡(luò)空間的服務(wù)器配置,因此必須確保AllowOverride指令被正確設(shè)置,以限定用戶(hù)只能使用被允許的指令。其細(xì)節(jié)請(qǐng)參見(jiàn).htaccess指南。