Redirecionar o visualizador para uma nova URL - Amazon CloudFront

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á.

Redirecionar o visualizador para uma nova URL

A função de exemplo a seguir gera uma resposta para redirecionar o visualizador para uma URL específica do país quando a solicitação vem de um país específico. Esta função depende do valor do cabeçalho CloudFront-Viewer-Country para determinar o país do visualizador.

Importante

Para que essa função funcione, você deve configurar CloudFront para adicionar o CloudFront-Viewer-Country cabeçalho às solicitações recebidas adicionando-o aos cabeçalhos permitidos em uma política de cache ou em uma política de solicitação de origem.

Este exemplo redireciona o visualizador para uma URL específica da Alemanha quando a solicitação do visualizador vem da Alemanha. Se a solicitação do visualizador não for proveniente da Alemanha, a função retornará a solicitação original e não modificada.

Esta é uma função de solicitação do visualizador.

Veja este exemplo em GitHub.

JavaScript runtime 2.0
async function handler(event) { const request = event.request; const headers = request.headers; const host = request.headers.host.value; const country = Symbol.for('DE'); // Choose a country code const newurl = `https://${host}/de/index.html`; // Change the redirect URL to your choice if (headers['cloudfront-viewer-country']) { const countryCode = Symbol.for(headers['cloudfront-viewer-country'].value); if (countryCode === country) { const response = { statusCode: 302, statusDescription: 'Found', headers: { "location": { "value": newurl } } } return response; } } return request; }
JavaScript runtime 1.0
function handler(event) { var request = event.request; var headers = request.headers; var host = request.headers.host.value; var country = 'DE' // Choose a country code var newurl = `https://${host}/de/index.html` // Change the redirect URL to your choice if (headers['cloudfront-viewer-country']) { var countryCode = headers['cloudfront-viewer-country'].value; if (countryCode === country) { var response = { statusCode: 302, statusDescription: 'Found', headers: { "location": { "value": newurl } } } return response; } } return request; }

Para obter mais informações sobre regravações e redirecionamentos, consulte Como lidar com regravações e redirecionamentos usando funções de borda no estúdio de oficina. AWS