As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Referência de exemplo de redirecionamentos e regravações
Esta seção inclui exemplos de código para vários cenários comuns de redirecionamento. É possível usar esses exemplos para entender a sintaxe para criar seus próprios redirecionamentos e regravações.
nota
A correspondência de domínio do endereço original não diferencia maiúsculas de minúsculas.
Tópicos
- Redirecionamentos e regravações simples
- Redireciona para aplicativos de única página web (SPA)
- Regravação de proxy reverso
- Barras finais e URLs limpos
- Espaços reservados
- Strings de consulta e parâmetros de caminho
- Redirecionamentos baseados em região
- Uso de expressões curinga em redirecionamentos e regravações
Redirecionamentos e regravações simples
É possível usar o código de 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 |
---|---|---|---|
|
|
|
JSON [{"source": "/original.html", "status": "301", "target": "/destination.html", "condition": null}]
É possível usar o código de 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 |
---|---|---|---|
|
|
|
JSON [{"source": "/docs/<*>", "status": "301", "target": "/documents/<*>", "condition": null}]
É possível usar o código de exemplo a seguir para redirecionar todo o tráfego para index.html como uma regravação. 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 |
---|---|---|---|
|
|
|
JSON [{"source": "/<*>", "status": "200", "target": "/index.html", "condition": null}]
É possível usar o código de exemplo a seguir para usar uma regravação 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 |
---|---|---|---|
|
|
|
JSON [{"source": "https://mydomain.com", "status": "200", "target": "https://www.mydomain.com", "condition": null}]
É possível usar o código de 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 |
---|---|---|---|
|
|
|
JSON [{"source": "https://mydomain.com", "status": "302", "target": "https://www.mydomain.com/documents/", "condition": null}]
É possível usar o código de 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 |
---|---|---|---|
|
|
|
JSON [{"source": "/<*>", "status": "404", "target": "/404.html", "condition": null}]
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 |
---|---|---|---|
|
|
|
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.
Endereço original | Endereço de destino | Tipo de redirecionamento | Código do país |
---|---|---|---|
|
|
|
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 código de 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 |
---|---|---|---|
|
|
|
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
É possível usar o código de 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 |
---|---|---|---|
|
|
|
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 código de 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 |
---|---|---|---|
|
|
|
JSON [{"source": "/documents/<x>/<y>/<z>", "status": "404", "target": "/documents/index.html", "condition": null}]
Redirecionamentos baseados em região
É possível usar o código de 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 |
---|---|---|---|
|
|
|
|
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. Você deve 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 |
---|---|---|---|
|
|
|
|
|
|
|
|