1. O que é este ajuste no .htaccess
Com o .htaccess em servidores Apache é possível reescrever URLs para que o site rode dentro de uma subpasta (ex.: /pasta
) sem que esse diretório apareça na barra de endereços. O visitante acessa https://dominio.com/contato
e o servidor entrega o conteúdo de /pasta/contato
, mantendo a URL limpa.
2. Quando usar
- O código do site está dentro de uma subpasta (ex.:
/pasta
), mas você quer manter a URL na raiz do domínio. - Você precisa separar área pública da área administrativa sem mudar o domínio principal.
- Hospedagens compartilhadas onde mover arquivos para a raiz não é conveniente.
3. Como aplicar
- Na raiz do site, crie/edite o arquivo
.htaccess
. - Altere “pasta” para o nome real do seu diretório.
- Salve o arquivo e recarregue o site. Se usar CDN/proxy, limpe o cache.
/sobre
→ servidor entrega /pasta/sobre
sem mostrar /pasta
na URL.4. Código pronto (.htaccess)
Vá no .htaccess
e deixe assim:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(?!pasta/)(.*)$ pasta/$1 [QSA,L]
Dica: se também quiser preservar diretórios físicos (e não só arquivos), adicione esta linha logo abaixo da verificação de arquivo:
RewriteCond %{REQUEST_FILENAME} !-d
5. Boas práticas
- Confirme que o módulo
mod_rewrite
está habilitado. - Comente o
.htaccess
para explicar regras (útil em equipes e futuras manutenções). - Evite encadeamento excessivo de regras; teste em ambiente de staging quando possível.
- Em apps SPA/Frameworks, verifique conflitos com rotas internas e 404 personalizados.
6. Referência
Baseado nesta discussão do Stack Overflow em Português: Ocultar diretório de domínio utilizando .htaccess .