Apache 2 UserDir только для одного VirtualHost
Можно ли включить директиву UserDir только для одного VirtualHost, а не включать его для всех, а затем отключить (с "отключением UserDir") для каждого 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>
2 ответа
Я только удалил 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?