Можно ли включить Директива UserDir только для одного VirtualHost, вместо того, чтобы включать его для всех, а затем отключить его (с помощью «UserDir disable») для каждого VirtualHost, на котором он не нужен?
Я попытался поместить это в <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>
Я только удалил 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>
Это должно сработать, однако здесь сообщается о дефекте:
https://issues.apache.org/bugzilla/show_bug.cgi?id=44076
Это предотвращает «нормальное» слияние, чего по иронии судьбы вы пытаетесь избежать - может быть, потому, что оно не работает?
Что именно происходит с вашей текущей конфигурацией? Mod_userdir загружен?