Redirecionamento de Subpasta para Raiz: Apache, Nginx, IIS e Cloudflare

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) ou 302 (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?