<-
Apache > HTTP 伺服器 > 文件 > 2.4 版 > 操作指南/教學

每個使用者的網頁目錄

可用語言: en  |  es  |  fr  |  ja  |  ko  |  tr 

在多使用者系統中,可以使用 UserDir 指令允許每個使用者在其家目錄中擁有網站。訪問 URL http://example.com/~username/ 的訪客將從使用者 "username" 的家目錄中,由 UserDir 指令指定的子目錄中獲取內容。

請注意,預設情況下,啟用對這些目錄的訪問權限。您可以在使用 UserDir 時,通過取消註釋預設設定檔 conf/httpd.conf 中的行來啟用訪問權限,並根據需要調整 httpd-userdir.conf 檔案,或者在主設定檔的 <Directory> 區塊中包含適當的指令。

#Include conf/extra/httpd-userdir.conf

Support Apache!

另請參閱

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

也可以設定多個目錄或目錄路徑。

UserDir public_html /var/html

對於 URL http://example.com/~rbowen/file.html,Apache 將搜尋 ~rbowen。如果找不到,Apache 將在 /var/html 中搜尋 rbowen。如果找到,則上述 URL 將被轉換為檔案路徑 /var/html/rbowen/file.html

top

重新導向到外部 URL

UserDir 指令可以用於將使用者目錄請求重新導向到外部 URL。

UserDir http://example.org/users/*/

以上範例會將 http://example.com/~bob/abc.html 的請求重新導向到 http://example.org/users/bob/abc.html

top

限制允許使用此功能的使用者

使用 UserDir 文件中顯示的語法,您可以限制允許哪些使用者使用此功能

UserDir disabled root jro fish

上述設定將為除 disabled 語句中列出的使用者以外的所有使用者啟用此功能。同樣,您可以使用如下設定停用除少數使用者以外的所有使用者的功能

UserDir disabled
UserDir enabled rbowen krietz

有關其他範例,請參閱 UserDir 文件。

top

為每個使用者啟用 cgi 目錄

為了讓每個使用者都有自己的 cgi-bin 目錄,您可以使用 <Directory> 指令來啟用使用者家目錄特定子目錄的 cgi 功能。

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

然後,假設 UserDir 設定為 public_html,則可以從該目錄載入 cgi 程式 example.cgi,如下所示

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

top

允許使用者更改設定

如果您希望允許使用者在其網頁空間中修改伺服器設定,他們將需要使用 .htaccess 檔案來進行這些更改。請確保您已將 AllowOverride 設定為允許使用者修改的指令所需的足夠值。有關其工作原理的更多詳細資訊,請參閱 .htaccess 教學

可用語言: en  |  es  |  fr  |  ja  |  ko  |  tr 

top

意見

注意事項
這不是問答區。此處放置的意見應針對改進文件或伺服器的建議,如果我們的版主認為這些意見已實施或無效/離題,則可能會將其刪除。有關如何管理 Apache HTTP 伺服器的問題應提交到 Libera.chat 上的 IRC 頻道 #httpd,或發送到我們的 郵件列表