Apache HTTP Server 版本 2.4
說明 | 使用者特定目錄 |
---|---|
狀態 | 基本 |
模組識別碼 | userdir_module |
原始檔 | mod_userdir.c |
這個模組允許使用 http://example.com/~user/
語法存取使用者特定目錄。
說明 | 使用者特定目錄的位置 |
---|---|
語法 | UserDir 目錄檔名 [目錄檔名] ... |
內容 | 伺服器設定、虛擬主機 |
狀態 | 基本 |
模組 | mod_userdir |
當收到使用者文件的請求時,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
。
特定已啟用和已停用的使用者清單將被取代,而非從全域範圍合併至虛擬主機範圍