Se os caminhos dos recursos de origem mudarem enquanto as URL de requisição permanecerem as mesmas, configure regras de redirecionamento nos POPs do Edge Security Acceleration (ESA) para redirecionar os clientes ao destino correto. Isso reduz as requisições de volta à origem e melhora o desempenho de acesso.
Como funciona
O processo de redirecionamento:
Um cliente requisita um recurso.
O POP do ESA compara a requisição com as regras de redirecionamento. Em caso de correspondência, ele retorna um código de status de redirecionamento (por exemplo, 301 ou 302) com a URL de destino no cabeçalho de resposta Location.
O cliente segue o cabeçalho Location e requisita o recurso na nova URL.
Códigos de status e cenários
|
Código de status |
Significado |
Tratamento de método |
Cenários comuns |
|
301 |
Movido permanentemente |
As requisições GET permanecem inalteradas. Outros métodos podem mudar para GET. |
O recurso é movido permanentemente para uma nova URL. Os mecanismos de busca atualize seus índices. |
|
302 |
Encontrado |
As requisições GET permanecem inalteradas. Outros métodos podem mudar para GET. |
O recurso está temporariamente em uma URL diferente. Os mecanismos de busca mantêm o link original. |
|
303 |
Ver outro |
As requisições GET permanecem inalteradas. Outros métodos são convertidos em GET e o corpo da requisição é descartado. |
Redireciona após PUT ou POST para evitar envios duplicados ao atualize a página. |
|
307 |
Redirecionamento temporário |
O método e o corpo da requisição permanecem inalterados. |
Redirecionamento temporário. Prefira o 307 ao 302 quando seu site utilizar métodos diferentes de GET. |
|
308 |
Redirecionamento permanente |
O método e o corpo da requisição permanecem inalterados. |
Redirecionamento permanente que preserva o método http e o corpo da requisição. Use para migrações de api ou refatoração de sites que exijam consistência de método. |
Se precisar redirecionar chamadas de api ou requisições que não sejam GET (como POST ou PUT) preservando o método e o corpo da requisição, use o código de status 307 (temporário) ou 308 (permanente). Os códigos de status 301 e 302 podem converter requisições não GET em GET, resultando em perda de dados.
Evite configurar redirecionamentos em caminhos de upload com alto tráfego (como /api/upload). Para esses caminhos, considere dividi-los em um domínio dedicado ou interceptar requisições via WAF para evitar tráfego anormal de volta à origem causado pelos redirecionamentos.
Crie uma regra de redirecionamento
O ESA avalia as regras em ordem de prioridade e aplica a primeira correspondência.
No console do ESA, escolha Site Management. Na coluna Website, clique em site de destino.
No painel de navegação à esquerda, escolha . Clique em Create Rule.
-
Na página Add Redirect Rule, configure as seguintes configurações e clique em OK:
insira um Rule Name.
Na seção If requests match..., defina as condições de correspondência da requisição. Para mais informações, consulte Components of a rule expression.
-
URL Redirect:
Parâmetro
Tipo
Descrição
Redirect Type
Static
Redireciona para uma URL fixa. Por exemplo, defina URL como
https://test.example.com/image/1.jpg?test=123.Dynamic
Construa a URL de destino dinamicamente com uma expressão. Por exemplo, para substituir o nome do host na URL da requisição mantendo o caminho original, defina Expression como
concat("https://www.example.com", http.request.uri.path). Use uma expressão válida construída com funções suportadas. Inserir diretamente uma string simples contendo variáveis causará falha ao salve.Padrões comuns de expressões dinâmicas:
Preservar caminho original (de não-www para www, de http para HTTPS) — Use
concat("https://target-domain.com", http.request.uri.path)para concatenar o domínio de destino com o caminho da requisição original. Use este padrão quando precisar manter o caminho durante o redirecionamento.Remover ou substituir prefixo de caminho — Use
concat("https://img.example.com", regex_replace(http.request.uri.path, "^/data", ""))para remover o prefixo/datado caminho original e redirecionar para o novo domínio. Combineregex_replacecomconcatpara transformar o caminho.
Status Code
O código de status http retornado para o redirecionamento. Valores válidos: 301 (padrão), 302, 303, 307 e 308. Para detalhes, consulte Códigos de status e cenários.
Retain Query String
defina se a string de consulta da requisição original será encaminhada para a URL de destino. Desativado por padrão (a string de consulta original é descartada).
Quando a opção Retain Query String está ativada:
Se a requisição original tiver uma string de consulta, ela substituirá a string de consulta da URL de redirecionamento.
Se a requisição original não tiver uma string de consulta, a string de consulta da URL de redirecionamento será preservada.
Para exemplos de configuração, consulte Exemplos de configuração.
Exemplos de configuração
Exemplos de redirecionamento estático
Cenário 1: A requisição não tem string de consulta, a URL de redirecionamento tem uma string de consulta
A requisição contém string de consulta: Não
A URL de redirecionamento configurada contém string de consulta: Sim
Preservar string de consulta: Ativado ou desativado
URL de requisição de exemplo:
http://test.example.com/1.jpgURL de redirecionamento configurada:
http://test.example.com/image/1.jpg?test=123Location de redirecionamento real:
http://test.example.com/image/1.jpg?test=123Observações: Não há string de consulta na requisição original, portanto, a string de consulta da URL configurada é utilizada independentemente da configuração de preservação da string de consulta.
Cenário 2: Ambas as URL têm strings de consulta, Preservar string de consulta ativado
A requisição contém string de consulta: Sim
A URL de redirecionamento configurada contém string de consulta: Sim
Preservar string de consulta: Ativado
URL de requisição de exemplo:
http://test.example.com/1.jpg?test=321URL de redirecionamento configurada:
http://test.example.com/image/1.jpg?test=123Location de redirecionamento real:
http://test.example.com/image/1.jpg?test=321Observações: Com a preservação da string de consulta ativada, apenas a string de consulta da requisição original é mantida; os parâmetros de consulta da URL configurada são descartados.
Cenário 3: Ambas as URL têm strings de consulta, Preservar string de consulta desativado
A requisição contém string de consulta: Sim
A URL de redirecionamento configurada contém string de consulta: Sim
Preservar string de consulta: Desativado
URL de requisição de exemplo:
http://test.example.com/1.jpg?test=321URL de redirecionamento configurada:
http://test.example.com/image/1.jpg?test=123Location de redirecionamento real:
http://test.example.com/image/1.jpg?test=123Observações: Com a preservação da string de consulta desativada, apenas a string de consulta da URL configurada é mantida; os parâmetros de consulta da requisição original são descartados.
Cenário 4: A requisição tem uma string de consulta, a URL de redirecionamento não tem, Preservar string de consulta ativado
A requisição contém string de consulta: Sim
A URL de redirecionamento configurada contém string de consulta: Não
Preservar string de consulta: Ativado
URL de requisição de exemplo:
http://test.example.com/1.jpg?test=321URL de redirecionamento configurada:
http://test.example.com/image/1.jpgLocation de redirecionamento real:
http://test.example.com/image/1.jpg?test=321Observações: Com a preservação da string de consulta ativada, a string de consulta original é anexada à URL configurada, mesmo que ela não tenha parâmetros de consulta.
Cenário 5: A requisição tem uma string de consulta, a URL de redirecionamento não tem, Preservar string de consulta desativado
A requisição contém string de consulta: Sim
A URL de redirecionamento configurada contém string de consulta: Não
Preservar string de consulta: Desativado
URL de requisição de exemplo:
http://test.example.com/1.jpg?test=321URL de redirecionamento configurada:
http://test.example.com/image/1.jpgLocation de redirecionamento real:
http://test.example.com/image/1.jpgObservações: Com a preservação da string de consulta desativada, a string de consulta original é descartada e apenas a URL configurada é retornada.
Exemplos de redirecionamento dinâmico
Cenário 1: Preservar string de consulta desativado
Preservar string de consulta: Desativado
URL de requisição de exemplo:
https://test.example.com/image/1.jpg?test=123Expressão:
concat("https://www.example.com", http.request.uri.path)Location de redirecionamento real:
https://www.example.com/image/1.jpg-
Observações:
Com a preservação da string de consulta desativada, o caminho (
/image/1.jpg) é mantido e a string de consulta (?test=123) é descartada.A expressão concatena apenas o nome do host e o caminho; os parâmetros de consulta não são tratados.
Cenário 2: Preservar string de consulta ativado
Preservar string de consulta: Ativado
URL de requisição de exemplo:
https://test.example.com/image/1.jpg?test=123Expressão:
concat("https://www.example.com", http.request.uri.path)Location de redirecionamento real:
https://www.example.com/image/1.jpg?test=123-
Observações:
Com a preservação da string de consulta ativada, a string de consulta original é anexada à URL gerada, mesmo que a expressão não trate os parâmetros de consulta.
A expressão trata apenas a concatenação do caminho; o sistema anexa a string de consulta conforme a configuração.
Cenário 3: Função wildcard_replace, Preservar string de consulta ativado
Preservar string de consulta: Ativado
URL de requisição de exemplo:
https://www.example.com/image-flower-20250816-1.html?src=cdnExpressão:
wildcard_replace(http.request.full_uri, "https://www.example.com/image-*", "https://www.example.com/${1}")Location de redirecionamento real:
https://www.example.com/flower-20250816-1.html?src=cdn-
Observações:
Com a preservação da string de consulta ativada, o sistema anexa a string de consulta original (por exemplo,
?src=cdn) à URL de destino.A expressão trata apenas a reescrita do caminho; o sistema repassa a string de consulta conforme a configuração.
Cenário 4: Função wildcard_replace, Preservar string de consulta desativado
Preservar string de consulta: Desativado
URL de requisição de exemplo:
https://www.example.com/index.html?place=garden&date=20250816Expressão:
wildcard_replace(http.request.full_uri, "https://www.example.com/index.html?place=garden&date=*", "https://www.example.com/flower-${1}-1.html")Location de redirecionamento real:
https://www.example.com/flower-20250816-1.html-
Observações:
Com a preservação da string de consulta desativada, a URL de destino é construída inteiramente a partir da expressão. Os parâmetros originais (por exemplo,
place=garden) são usados apenas para correspondência; o*captura o valor apósdatee o substitui por${1}.A URL final exclui os parâmetros de consulta originais.
FAQ
How do I redirect between a root domain (bare domain) and a www domain?
What should I do if a redirect rule does not take effect or redirects to the wrong URL?
What should I do if redirects cause an infinite loop or make the website inaccessible?
Why does the browser URL not change after I configure a redirect rule?
Suporte por plano
|
Recurso |
Entrance |
Pro |
Premium |
Enterprise |
|
Número de regras |
10 |
25 |
50 |
125 |
Documentação relacionada
Os recursos relacionados a regras variam em prioridade, reentrância e granularidade de aplicação. Para mais detalhes, consulte Characteristics of rule-based features.