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?