Referência de exemplo de redirecionamentos e regravações
Esta seção fornece exemplos para vários cenários comuns de redirecionamento.
Importante
Os redirecionamentos específicos do domínio não oferecem suporte a componentes de caminho no campo de origem.
Compatível com:
-
"source": "https://example.com"(caminhos anexados automaticamente)
Sem suporte:
-
"source": "https://example.com/specific-path" -
No momento, não há suporte para regras com combinações
domain+path.
Padrões alternativos
Para redirecionamentos de caminho específicos do domínio, use:
-
Regras separadas somente de domínio (os caminhos são anexados automaticamente)
-
Regras somente de caminho com lógica condicional
-
Várias combinações de regras
É possível usar esses exemplos para entender a sintaxe de JSON para a criação dos seus próprios redirecionamentos e reescritas no editor de JSON do console do Amplify.
nota
A correspondência de domínio do endereço original não diferencia maiúsculas de minúsculas.
Redirecionamentos e regravações simples
É possível usar o exemplo a seguir para redirecionar permanentemente uma página específica a um novo endereço.
| Endereço original | Endereço de destino | Tipo de redirecionamento | Código do país |
|---|---|---|---|
|
|
|
|
Formato JSON
[ { "source": "/original.html", "status": "301", "target": "/destination.html", "condition": null } ]
É possível usar o exemplo a seguir para redirecionar qualquer caminho em uma pasta para o mesmo caminho em uma pasta diferente.
| Endereço original | Endereço de destino | Tipo de redirecionamento | Código do país |
|---|---|---|---|
|
|
|
|
Formato JSON
[ { "source": "/docs/<*>", "status": "301", "target": "/documents/<*>", "condition": null } ]
É possível usar o exemplo a seguir para redirecionar todo o tráfego para index.html como uma reescrita. Nesse cenário, a regravação faz parecer para o usuário que ele está no endereço original.
| Endereço original | Endereço de destino | Tipo de redirecionamento | Código do país |
|---|---|---|---|
|
|
|
|
Formato JSON
[ { "source": "/<*>", "status": "200", "target": "/index.html", "condition": null } ]
É possível usar o exemplo a seguir para usar uma reescrita para alterar o subdomínio que é exibido ao usuário.
| Endereço original | Endereço de destino | Tipo de redirecionamento | Código do país |
|---|---|---|---|
|
|
|
|
Formato JSON
[ { "source": "https://mydomain.com", "status": "200", "target": "https://www.mydomain.com", "condition": null } ]
É possível usar o exemplo a seguir para redirecionar para um domínio diferente com um prefixo de caminho.
| Endereço original | Endereço de destino | Tipo de redirecionamento | Código do país |
|---|---|---|---|
|
|
|
|
Formato JSON
[ { "source": "https://mydomain.com", "status": "302", "target": "https://www.mydomain.com/documents/", "condition": null } ]
É possível usar o exemplo a seguir para redirecionar caminhos em uma pasta que não podem ser encontrados para uma página 404 personalizada.
| Endereço original | Endereço de destino | Tipo de redirecionamento | Código do país |
|---|---|---|---|
|
|
|
|
Formato JSON
[ { "source": "/<*>", "status": "404", "target": "/404.html", "condition": null } ]
Importante
Não há suporte para os componentes de caminho em regras de origem baseadas em domínio (como "https://domain.com/path"), e eles farão com que a regra seja ignorada sem erros.
Redireciona para aplicativos de única página web (SPA)
A maioria das estruturas de SPA oferecem suporte a history.pushState() de HTML5 para alterar o local do navegador sem iniciar uma solicitação de servidor. Isso funciona para usuários que começam a jornada a partir da raiz (ou /index.html), mas falha para usuários que navegam diretamente para qualquer outra página.
O exemplo a seguir usa expressões regulares para configurar uma reescrita 200 para todos os arquivos em index.html, exceto para as extensões de arquivo especificadas na expressão regular.
| Endereço original | Endereço de destino | Tipo de redirecionamento | Código do país |
|---|---|---|---|
|
|
|
|
Formato JSON
[ { "source": "</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|woff2|ttf|map|json|webp)$)([^.]+$)/>", "status": "200", "target": "/index.html", "condition": null } ]
Regravação de proxy reverso
O exemplo a seguir usa uma regravação para criar um proxy de conteúdo de outro local para que pareça ao usuário que o domínio não foi alterado. O HTTPS é o único protocolo com suporte para proxies reversos.
| Endereço original | Endereço de destino | Tipo de redirecionamento | Código do país |
|---|---|---|---|
|
|
|
|
Formato JSON
[ { "source": "/images/<*>", "status": "200", "target": "https://images.otherdomain.com/<*>", "condition": null } ]
Barras finais e URLs limpos
Para criar estruturas limpas de URL, como about, em vez de about.html, geradores de site estático, como Hugo, geram diretórios para páginas com um index.html (/about/index.html). O Amplify cria automaticamente URLs limpos adicionando uma barra final quando necessário. A tabela a seguir destaca diferentes cenários:
| Entradas do usuário no navegador | URL na barra de endereços | Documento fornecido |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Espaços reservados
É possível usar o exemplo a seguir para redirecionar caminhos em uma estrutura de pastas a uma estrutura correspondente em outra pasta.
| Endereço original | Endereço de destino | Tipo de redirecionamento | Código do país |
|---|---|---|---|
|
|
|
|
Formato JSON
[ { "source": "/docs/<year>/<month>/<date>/<itemid>", "status": "301", "target": "/documents/<year>/<month>/<date>/<itemid>", "condition": null } ]
Strings de consulta e parâmetros de caminho
Atenção
Não inclua segredos, credenciais ou dados sensíveis em URLs como parâmetros de caminho ou consulta. Esses valores podem ser visualizados em texto simples nos logs de acesso da sua aplicação do Amplify.
É possível usar o exemplo a seguir para redirecionar um caminho para uma pasta com um nome que corresponde ao valor de um elemento de string de consulta no endereço original:
| Endereço original | Endereço de destino | Tipo de redirecionamento | Código do país |
|---|---|---|---|
|
|
|
|
Formato JSON
[ { "source": "/docs?id=<my-blog-id-value>", "status": "301", "target": "/documents/<my-blog-id-value>", "condition": null } ]
nota
O Amplify encaminha todos os parâmetros da sequência de caracteres de consulta para o caminho de destino para redirecionamentos 301 e 302. No entanto, se o endereço original incluir uma sequência de caracteres de consulta definida com um valor específico, conforme demonstrado neste exemplo, o Amplify não encaminhará os parâmetros de consulta. Nesse caso, o redirecionamento se aplica somente às solicitações para o endereço de destino com o valor de consulta id especificado.
É possível usar o exemplo a seguir para redirecionar todos os caminhos que não podem ser encontrados em determinado nível de uma estrutura de pastas para index.html em uma pasta especificada.
| Endereço original | Endereço de destino | Tipo de redirecionamento | Código do país |
|---|---|---|---|
|
|
|
|
Formato JSON
[ { "source": "/documents/<x>/<y>/<z>", "status": "404", "target": "/documents/index.html", "condition": null } ]
Redirecionamentos baseados em região
É possível usar o exemplo a seguir para redirecionar solicitações com base na região.
| Endereço original | Endereço de destino | Tipo de redirecionamento | Código do país |
|---|---|---|---|
|
|
|
|
|
Formato JSON
[ { "source": "/documents", "status": "302", "target": "/documents/us/", "condition": "<US>" } ]
Uso de expressões curinga em redirecionamentos e regravações
É possível usar a expressão curinga, <*>, no endereço original para redirecionar ou regravar. É necessário colocar a expressão no final do endereço original, e ela deve ser exclusiva. O Amplify ignora os endereços originais que incluam mais de uma expressão curinga ou os usa em um posicionamento diferente.
Veja a seguir um exemplo de um redirecionamento válido com uma expressão curinga.
| Endereço original | Endereço de destino | Tipo de redirecionamento | Código do país |
|---|---|---|---|
|
|
|
|
|
Os dois exemplos a seguir demonstram redirecionamentos inválidos com expressões curinga.
| Endereço original | Endereço de destino | Tipo de redirecionamento | Código do país |
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|