
Parece simples, mas não consegui fazer.
Tenho um usuário que alterou seu nome de usuário de givenname
para name
e 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_userdir
procura 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!