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

Apache 2.2, изменение DocumentRoot в зависимости от учетных данных HTTP-аутентификации, предоставленных клиентом

Это вообще возможно?

Скажем, у меня есть сервер devbox.local, на котором есть несколько пользователей HTTP-аутентификации: alan, bill, carl. Я пытаюсь сказать Apache, чтобы он использовал другой DocumentRoot в зависимости от того, кто вошел в систему в данный момент. Таким образом, пользователь alan может видеть корневой каталог из / var / www / html, bill может видеть / home / bill / public_html, а carl может полностью видеть какой-то другой каталог.

Я знаю, что некоторые из вас сразу перейдут к ответу «использовать mod_userdir для этого», но при этом будут созданы URL-адреса в форме http: //devbox.local/~bill/whatever - чего мы не хотим. (Каждый пользователь будет работать над отдельной копией веб-приложения, которому действительно не нравится находиться в корневом каталоге домена. Поверьте, мы пытались.)

Я также стараюсь избегать использования поддоменов, если нет другой альтернативы, поскольку я действительно не хочу возиться с нашими файлами vhosts / DNS / hosts, если (когда) мы переместим что-то позже.

mod_rewrite вероятно, то, что вы ищете.

Ознакомьтесь с документацией о том, как использовать переменную% {REMOTE_USER} для перезаписи URL.