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.
{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
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.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 seregexp
fortrue
.append_suffix
Determina se o sufixo é transportado com o redirecionamento. O padrão é true
. Este valor não é suportado se a chaveregexp
fortrue
ou* se a chaveprefix
forfalse
.code
Especifica o código do status HTTP. Os códigos de status válidos são 301
(Movido Permanentemente),302
,307
e308
. 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 chaveredirects
, 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 caminhohttp://{default}/to
. -
Redireciona solicitações que correspondem ao padrão
/from/another/path
parahttps://{default}/to/another/path
. -
Se você alterar a propriedade
prefix
parafalse
, 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 caminhohttps://{default}/to
. -
Se você alterar a propriedade
append_suffix
paratrue
, as solicitações correspondentes a/from/path/suffix
serão redirecionadas para o caminhohttps://{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.