Redirecionamentos

O gerenciamento de regras de redirecionamento é um requisito comum para aplicações web, especialmente nos casos em que você não deseja perder links recebidos que foram alterados ou removidos ao longo do tempo.

A seguir, é mostrado como gerenciar regras de redirecionamento no Adobe Commerce em projetos de infraestrutura na nuvem usando o arquivo de configuração routes.yaml. Se os métodos de redirecionamento discutidos neste tópico não funcionarem para você, você poderá usar cabeçalhos de cache para fazer a mesma coisa.

NOTE
Os exemplos de configuração de rota a seguir usam modelos de rota com espaços reservados. O espaço reservado {default} representa o domínio padrão configurado para o site. Se o seu projeto tiver vários domínios, use o espaço reservado {all} para configurar o roteamento para o domínio padrão e todos os aliases. Consulte Configurar rotas.

Atualizações em ambientes Pro

WARNING
Alguns projetos profissionais exigem um tíquete de suporte para atualizar a configuração de rota no arquivo routes.yaml e a configuração cron no arquivo .magento.app.yaml. O Adobe recomenda atualizar e testar arquivos de configuração YAML em um ambiente de Integração e, em seguida, implantar alterações no ambiente de Preparo. Se suas alterações não forem aplicadas aos sites de Preparo após a reimplantação e não houver mensagens de erro relacionadas no log, você DEVE Enviar um tíquete de Suporte da Adobe Commerce que descreva as tentativas de alterações de configuração. Inclua quaisquer arquivos de configuração YAML atualizados no ticket.
WARNING
Para projetos de infraestrutura em nuvem do Adobe Commerce, a configuração de vários redirecionamentos e regravações não regex no arquivo routes.yaml pode causar problemas de desempenho. Se o arquivo do routes.yaml tiver 32 KB ou mais, descarregue os redirecionamentos não regex e substitua no Fastly. Consulte Descarregar redirecionamentos não regex para Fastly em vez de Nginx (rotas) na Central de Ajuda do Adobe Commerce.

Redirecionamentos de rota inteira

Usando redirecionamentos de rota completa, você pode definir rotas simples usando o arquivo routes.yaml. Por exemplo, você pode redirecionar de um domínio apex para um subdomínio www da seguinte maneira:

http://{default}/:
    type: redirect
    to: http://www.{default}/

Redirecionamentos de rota parcial

No arquivo .magento/routes.yaml, você pode adicionar regras de redirecionamento parciais a rotas existentes com base na correspondência de padrões:

http://{default}/:
    redirects:
        expires: 1d
        paths:
          "/from": { to: "http://example.com/" }
          "/regexp/(.*)/matching": { to: "http://example.com/$1", regexp: true }

Redirecionamentos parciais funcionam com qualquer tipo de rota, incluindo rotas servidas diretamente pelo aplicativo.

Duas chaves estão disponíveis em redirects:

  • expires—Opcional, especifica o tempo para armazenar o redirecionamento em cache no navegador. Exemplos de valores válidos incluem 3600s, 1d, 2w, 3m.

  • caminhos — Um ou mais pares de valor-chave que especificam a configuração das regras de redirecionamento de rota parcial.

    Para cada regra de redirecionamento, a chave é uma expressão para filtrar caminhos de solicitação para redirecionamento. O valor é um objeto que especifica o destino do redirecionamento e as opções para o processamento do redirecionamento.

    O objeto de valor tem as seguintes propriedades:

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
    Propriedade Descrição
    to Obrigatório, um caminho absoluto parcial, URL com protocolo e host ou padrão que especifica o destino da regra de redirecionamento.
    regexp Opcional, o padrão é false. Especifica se a chave de caminho deve ser interpretada como uma expressão regular PCRE.
    prefix Especifica se o redirecionamento se aplica ao caminho e a todos os seus filhos ou apenas ao próprio caminho. O padrão é true. Este valor não é suportado se regexp for true.
    append_suffix Determina se o sufixo é transportado com o redirecionamento. O padrão é true. Este valor não é suportado se a chave regexp for true ou* se a chave prefix for false.
    code Especifica o código do status HTTP. Os códigos de status válidos são 301 (Movido Permanentemente), 302, 307 e 308. O padrão é 302.
    expires Opcional, especifica o tempo para armazenar o redirecionamento em cache no navegador. O padrão é o valor expires definido diretamente na chave redirects, mas nesse nível é possível ajustar a expiração do cache para redirecionamentos parciais individuais.

Exemplos de redirecionamentos de rota parcial

Os exemplos a seguir mostram como especificar redirecionamentos de rota parcial no arquivo routes.yaml usando várias opções de configuração paths.

Correspondência de padrão de expressão regular

Use o formato a seguir para configurar solicitações de redirecionamento com base em uma expressão regular.

http://{default}/:
    type: upstream
    redirects:
      paths:
        "/regexp/(.*)/match": { to: "http://example.com/$1", regexp: true }

Essa configuração filtra caminhos de solicitação contra uma expressão regular e redireciona solicitações correspondentes para https://example.com. Por exemplo, uma solicitação para https://example.com/regexp/a/b/c/match redireciona para https://example.com/a/b/c.

Correspondência de padrão de prefixo

Use o formato a seguir para configurar solicitações de redirecionamento para caminhos que começam com um padrão de prefixo especificado.

http://{default}/:
    type: upstream
    redirects:
      paths:
        "/from": { to: "https://{default}/to", prefix: true }

Essa configuração funciona da seguinte maneira:

  • Redireciona solicitações que correspondem ao padrão /from para o caminho http://{default}/to.

  • Redireciona solicitações que correspondem ao padrão /from/another/path para https://{default}/to/another/path.

  • Se você alterar a propriedade prefix para false, as solicitações que correspondem ao padrão /from acionarão um redirecionamento, mas as solicitações que correspondem ao padrão /from/another/path não.

Correspondência de padrão de sufixo

Use o formato a seguir para configurar solicitações de redirecionamento que anexam o sufixo de caminho da solicitação ao destino:

http://{default}/:
    type: upstream
    redirects:
      paths: "/from": { to: "https://{default}/to", append_suffix: false }

Essa configuração funciona da seguinte maneira:

  • Redireciona solicitações que correspondem ao padrão /from/path/suffix para o caminho https://{default}/to.

  • Se você alterar a propriedade append_suffix para true, as solicitações correspondentes a /from/path/suffix serão redirecionadas para o caminho https://{default}/to/path/suffix.

Configuração de cache específica de caminho

Use o formato a seguir para personalizar o tempo de armazenamento em cache de um redirecionamento de um caminho específico:

http://{default}/:
    type: upstream
    redirects:
    expires: 1d
      paths:
        "/from": { to: "https://example.com/" }
        "/here": { to: "https://example.com/there", expires: "2w" }

Essa configuração funciona da seguinte maneira:

  • Redirecionamentos do primeiro caminho (/from) são armazenados em cache por um dia.

  • Redirecionamentos do segundo caminho (/here) são armazenados em cache por duas semanas.

recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26