• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 用户私人网站目录(Web)

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

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

    #include conf / extra / httpd-userdir.conf
    

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

    每用户Web目录

    相关模块相关指令
    • mod_userdir
    • UserDir
    • DirectoryMatch
    • AllowOverride

    使用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会寻找rbowen/var/html。如果找到,则上述URL将被转换为文件路径/var/html/rbowen/file.html

    重定向到外部URL

    UserDir指令可用于将用户目录请求重定向到外部URL。

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

    上面的示例会将的请求重定向http://example.com/~bob/abc.htmlhttp://example.org/users/bob/abc.html

    限制允许哪些用户使用此功能

    使用UserDir文档中显示的语法,您可以限制允许哪些用户使用此功能:

    UserDir disabled root jro fish
    

    上面的配置将为所有用户启用该功能,但disabled语句中列出的用户除外。同样,您可以通过使用如下配置来为除少数用户以外的所有用户禁用该功能:

    UserDir disabled
    UserDir enabled rbowen krietz
    

    有关UserDir其他示例,请参见文档。

    为每个用户启用一个cgi目录

    为了给每个用户自己的cgi-bin目录,您可以使用<Directory>指令来使用户的主目录的特定子目录启用cgi。

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

    然后,假设将UserDir其设置为public_html,则example.cgi可以从该目录加载一个cgi程序,如下所示:

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

    允许用户更改配置

    如果要允许用户在其Web空间中修改服务器配置,则需要使用.htaccess文件进行这些更改。确保AllowOverride为您要允许用户修改的指令设置了足够的值。有关此工作原理的更多详细信息,请参见.htaccess教程。