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?

Другие вопросы по тегам