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 em nuvem usando o routes.yaml
arquivo de configuração. 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}
o espaço reservado representa o domínio padrão configurado para o site. Se o seu projeto tiver vários domínios, use o {all}
espaço reservado 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 do cron no .magento.app.yaml
arquivo. 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 descreve as tentativas de alteração de configuração. Inclua quaisquer arquivos de configuração YAML atualizados no ticket.routes.yaml
arquivo pode causar problemas de desempenho. Se o seu routes.yaml
O arquivo tem 32 KB ou mais, descarrega os redirecionamentos não regex e reescreve no Fastly. Consulte Descarga de redirecionamentos não regex para Fastly em vez de Nginx (rotas) no Centro de ajuda do Adobe Commerce.Redirecionamentos de rota inteira
Usando redirecionamentos de rota completa, você pode definir rotas simples usando o routes.yaml
arquivo. Por exemplo, é possível redirecionar de um domínio apex para um www
subdomínio como a seguir:
http://{default}/:
type: redirect
to: http://www.{default}/
Redirecionamentos de rota parcial
No .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
:
-
expira em—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 será suportado seregexp
étrue
.append_suffix
Determina se o sufixo é transportado com o redirecionamento. O padrão é true
. Esse valor não será suportado se a variávelregexp
a chave étrue
ou* se a variávelprefix
a chave éfalse
.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 é expires
valor definido diretamente sob oredirects
chave, 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 routes.yaml
arquivo usando vários paths
opções de configuração.
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ções em relação a 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
ao caminhohttp://{default}/to
. -
Redireciona solicitações que correspondem ao padrão
/from/another/path
parahttps://{default}/to/another/path
. -
Se você alterar a variável
prefix
propriedade parafalse
, solicitações que correspondem ao/from
padrão acionam um redirecionamento, mas as solicitações que correspondem aos/from/another/path
padrão do 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
ao caminhohttps://{default}/to
. -
Se você alterar a variável
append_suffix
propriedade paratrue
, em seguida, solicitações correspondentes/from/path/suffix
redirecionar 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:
-
Redireciona do primeiro caminho (
/from
) são armazenados em cache por um dia. -
Redireciona do segundo caminho (
/here
) são armazenados em cache por duas semanas.