Apache mod_rewrite é seu amigo, ele pode usar cabeçalhos HTTP.
RewriteEngine On
RewriteCond %{REMOTE_USER} ^joecorleone101$
RewriteRule .* dir3/ [R,L]
- Se HTTP REMOTE_USER for igual a joecorleone101, use a regra de reescrita
- Corresponder a tudo (. *)
- Reescreva o URL para dir3
- [R] redireciona
- [L] parar de reescrever
Você também pode usar o REMOTE_USER na parte da subseção:
RewriteCond %{REMOTE_USER} ^.*$
RewriteRule .* %{REMOTE_USER}/ [R,L]
- Se REMOTE_USER estiver preenchido (^. * $) use a regra de reescrita
- Corresponder a tudo (. *)
- Reescreva o URL para o valor em REMOTE_USER
- [R] redireciona
- [L] parar de reescrever
Isso também funciona a partir do .htaccess, mas tem algumas diferenças de comportamento, o diretório é removido na correspondência de padrões e adicionado na parte de substituição.
Para usar o valor correspondente no RewriteCond, você pode usar o% N (1 < = N < = 9).
RewriteCond %{REMOTE_USER} (\d{3})$
RewriteRule .* http://www.example.com/%1 [R,L]
- Corresponder aos usuários cujo nome termina com 3 dígitos (\ d {3}) $
- Corresponder a qualquer URL (. *)
- Reescreva-o no link (se o usuário terminar com 123)
- Redirecionar e parar de reescrever [R, L]