Предполагая, что у меня есть домен, скажем, mydomain.com и три каталога под ним, назовите их dir1, dir2 и dir3, тогда можно ли поместить файл htpasswd в корневой каталог и перенаправить аутентифицированных пользователей в их соответствующие каталоги (например, пользователь joecorleone101 всегда перенаправляется на dir3 после аутентификации.)?
Во-первых, я хочу знать, возможно ли это, а во-вторых, безопасно или практично (или непрактично)? Я неправильно об этом думаю? Может, мне стоит использовать файл htaccess?
Apache mod_rewrite ваш друг, он может использовать заголовки HTTP.
RewriteEngine On
RewriteCond %{REMOTE_USER} ^joecorleone101$
RewriteRule .* dir3/ [R,L]
Вы также можете использовать REMOTE_USER в части подстановки:
RewriteCond %{REMOTE_USER} ^.*$
RewriteRule .* %{REMOTE_USER}/ [R,L]
Это также работает с .htaccess, но имеет некоторые отличия в поведении: каталог удаляется при сопоставлении с шаблоном и добавляется в части замены.
Чтобы использовать значение, сопоставленное в RewriteCond, вы можете использовать% N (1 <= N <= 9).
RewriteCond %{REMOTE_USER} (\d{3})$
RewriteRule .* http://www.example.com/%1 [R,L]