Назад | Перейти на главную страницу

Apache 2 UserDir только для одного VirtualHost

Можно ли включить Директива 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 загружен?