Reescrita do Apache: retire a parte do URL

Reescrita do Apache: retire a parte do URL

Eu tenho um aplicativo Ruby on Rails com dois subsites www.example.com/site1e www.example.com/site2. Para fins de demonstração, precisamos desabilitar site2e mostrar apenas site1. Então eu fiz alguns redirecionamentos na minha configuração do host virtual apache assim

Redirect 301 http://www.example.com/site2 http://www.example.com/site1
Redirect 301 http://www.example.com http://www.example.com/site1

para ter certeza de sempre redirecionar para site1. Agora, seria ótimo se pudéssemos retirar o site1URL do URL http://www.example.com/site1para que ele mostrasse apenas http://www.example.com, mas também pudesse lidar com subsites (por exemplo, o site "original" é http://www.example.com/site1/cat1e deve ser exibido como http://www.example.com/cat1).

  • Isso é possível usando o mecanismo de reescrita do Apache? E como?
  • Não tenho certeza se preciso alterar algo dentro do meu aplicativo ou o URL da solicitação (que meu roteador capta) não foi modificado pelo Apache?
  • Outra solução seria mostrar apenas o domínio na barra de endereços dos usuários. Isso é possível e como?

Responder1

Parece mais que você deveria apenas alterar o DocumentRoot de www.example.com para o site1diretório em vez do que é agora. Isso evita a necessidade de redirecionamento em todos os três exemplos citados.

informação relacionada