是否可以启用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_html
userdir.conf
mod_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 是否已加载?