是否有可能只为一个VirtualHost启用UserDir指令 ,而不是为所有用户启用,然后为每个不需要的VirtualHost禁用它(使用“UserDir disable”)?
我已经尝试把它放在一个<VirtualHost>并注释掉全局configuration(/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>
我只从UserDir public.www删除了UserDir public.www (在我的情况下是UserDir public_html )。 然后,我将该行添加到我希望mod_userdir处于活动状态的站点configuration中。
<VirtualHost *:80> ServerName userdirs.example.com <IfModule mod_userdir.c> UserDir public_html </IfModule> </VirtualHost>
这应该工作,但是这里有一个缺陷报告:
https://issues.apache.org/bugzilla/show_bug.cgi?id=44076
这可以防止“正常”合并,这是讽刺你想要避免的 – 也许是因为它不工作?
你当前的configuration究竟发生了什么? 是mod_userdir加载?