Apache 2 UserDir 仅适用于一个 VirtualHost

Apache 2 UserDir 仅适用于一个 VirtualHost

是否可以启用UserDir 指令只针对一个VirtualHost,而不是对所有VirtualHost都启用它,然后对每个你不想启用它的VirtualHost禁用它(使用“UserDir disable”)?

我尝试将其放入 a 中<VirtualHost>并注释掉全局配置 (/etc/apache2/conf.d/userdir.conf) 中的所有内容。但是没有成功。

<IfModule mod_userdir.c>
    UserDir public.www
    UserDir disabled root

    <Directory /home/*/public.www>
            AllowOverride FileInfo AuthConfig Limit Indexes
            Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
            <Limit GET POST OPTIONS>
                    Order allow,deny
                    Allow from all
            </Limit>
            <LimitExcept GET POST OPTIONS>
                    Order deny,allow
                    Deny from all
            </LimitExcept>
    </Directory>
</IfModule>

答案1

我只是从中删除了UserDir public.www(在我的情况下)。然后我将该行添加到我想要激活的站点配置中。UserDir public_htmluserdir.confmod_userdir

<VirtualHost *:80>
        ServerName userdirs.example.com

        <IfModule mod_userdir.c>
                UserDir public_html
        </IfModule>
</VirtualHost>

答案2

这应该可行,但是这里报告了一个缺陷:

https://issues.apache.org/bugzilla/show_bug.cgi?id=44076

这会阻止“正常”合并,具有讽刺意味的是,这正是您想要避免的——可能是因为它不起作用?

您当前的配置到底发生了什么?mod_userdir 是否已加载?

相关内容