<-
Apache > HTTP 服务器 > 文档 > 版本 2.4 > 操作指南 / 教程

每个用户网页目录

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

在拥有多个用户的系统上,可以使用 UserDir 指令允许每个用户在其主目录中拥有一个网站。访问 URL http://example.com/~username/ 的用户将从用户 "username" 的主目录中获取内容,该目录位于 UserDir 指令指定的子目录中。

请注意,默认情况下,启用对这些目录的访问。在使用 UserDir 时,可以通过取消注释以下行来启用访问

#Include conf/extra/httpd-userdir.conf

在默认配置文件 conf/httpd.conf 中,并根据需要调整 httpd-userdir.conf 文件,或者在主配置文件中的 <Directory> 块中包含适当的指令。

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 Server 的问题应发送到我们的 IRC 频道 #httpd(在 Libera.chat 上)或发送到我们的 邮件列表