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, если (когда) мы переместим вещи позже.

1 ответ

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

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

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