Recentemente, precisei mover meu site de uma subpasta para o diretório raiz do meu domínio.
O principal desafio era assegurar que todos os artigos mantivessem suas URLs originais, como se ainda estivessem na subpasta, enquanto a URL acessada pelo usuário fosse redirecionada para a raiz do domínio ou outro local de destino.
Apache
O servidor web Apache oferece suporte à diretiva RewriteCond
. Para implementar essa mudança, você deve editar o arquivo .htaccess
ou httpd.conf
, adicionando as seguintes linhas:
RewriteEngine on RewriteBase / RewriteRule ^subfolder/(.*)$ /$1 [R=301,NC,L]
Neste exemplo, usamos /
como base. A RewriteRule
aplica-se a todas as URLs dentro da subpasta, utilizando expressões regulares. O parâmetro R=301
especifica um redirecionamento permanente.
Nginx
Um redirecionamento similar pode ser configurado no servidor web Nginx, utilizando a diretiva rewrite
no arquivo /etc/nginx/nginx.conf
ou /etc/nginx/conf.d/default.conf
:
location ^~ /subfolder { rewrite ^/subfolder(.*)$ $1 last; }
O modificador ^~
garante que esta regra de localização por prefixo tenha prioridade, mesmo se você adicionar regras de localização regex no futuro.
IIS
No IIS, o módulo de Rewrite permite reescrever URLs que se encontram em uma subpasta, fazendo com que apareçam como se estivessem na raiz. Edite o arquivo web.config
localizado na pasta webroot (%SystemDrive%inetpubwwwroot
), inserindo o seguinte código:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="Root_URL_Rewrite" stopProcessing="true"> <match url="^(.*)" /> <action type="Rewrite" url="/subfolder/{R:0}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
Alternativamente, você pode usar a interface gráfica do Gerenciador do IIS para adicionar uma regra de entrada.
Cloudflare
Um redirecionamento semelhante pode ser implementado usando o Cloudflare, seguindo os passos abaixo:
- Acesse sua conta do Cloudflare.
- Selecione a conta Cloudflare correspondente ao domínio onde deseja configurar o redirecionamento.
- Clique em “Regras” e depois na aba “Regras de página”.
- Em “Regras de página”, clique em “Criar regra de página”. Será aberta uma janela para a criação da regra.
- No campo “Se o URL corresponder”, insira o padrão de URL da subpasta a ser redirecionada (ex:
https://exemplo.com/subpasta
). - Clique em “Adicionar uma configuração” e escolha “URL de encaminhamento” no menu suspenso.
- Selecione o código de status:
301
(redirecionamento permanente) ou302
(redirecionamento temporário). - Insira a URL de destino (raiz do seu domínio) e clique em “Salvar e implantar” para finalizar.
O exemplo apresentado redireciona todo o tráfego de https://etechpt.com/blog
para https://etechpt.com
.
Conclusão
Como vimos, redirecionar ou mapear uma subpasta para a raiz ou outro URL é uma prática comum, suportada pelas principais plataformas e ferramentas com diversas opções.
Na sequência, descubra como hospedar múltiplos sites em um único endereço IP.
Gostou deste conteúdo? Que tal compartilhá-lo com seus contatos?