Reescrever userdir para usuários que alteraram o nome de usuário

Reescrever userdir para usuários que alteraram o nome de usuário

Parece simples, mas não consegui fazer.

Tenho um usuário que alterou seu nome de usuário de givennamepara namee agora preciso reescrever, alterando a URL nos clientes, para evitar erros 404 em ~givenname.

Eu pensei que poderia fazer algo assim:

RewriteEngine on
RewriteBase /~givenname/
RewriteRule ^~givenname/([^/]+)$ ~name/$1 [R=301,L]

Mas não fui capaz de fazer isso.

Estou ciente de que mod_userdirprocura informações específicas do usuário em arquivos Unix ( /etc/passwd) ou o que quer que esteja especificado em /etc/nsswitch.conf, mas há uma maneira de enganá-lo e redirecionar para o novo nome de usuário?

Obrigado.

PS: Estou executando um servidor Apache 2.2.16 um pouco antigo.

Responder1

Você poderia desativar omod_userdirrecurso para o nome de usuário antigo:

UserDir disabled givenname

Depois disso você poderia simplesmente usarmod_aliaspara o redirecionamento:

Redirect "/~givenname" "/~name"

Atualize para o Apache 2.4 o mais rápido possível: o Apache 2.2 não recebeu atualizações depois de 2017, e o 2.2.16 é de julho de 2010!

informação relacionada