Rediriger le spectateur vers un nouveau URL - Amazon CloudFront

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Rediriger le spectateur vers un nouveau URL

La fonction de demande du spectateur suivante génère une réponse pour rediriger le spectateur vers un pays spécifique URL lorsque la demande provient d'un pays en particulier. Cette fonction repose sur la valeur de l'en-tête CloudFront-Viewer-Country pour déterminer le pays de l'utilisateur.

Important

Pour que cette fonction fonctionne, vous devez configurer CloudFront pour ajouter l'CloudFront-Viewer-Countryen-tête aux demandes entrantes en l'ajoutant aux en-têtes autorisés dans une politique de cache ou une politique de demande d'origine.

Cet exemple redirige le spectateur vers un site spécifique à l'Allemagne URL lorsque la demande du spectateur provient de l'Allemagne. Si la requête utilisateur ne provient pas d'Allemagne, la fonction renvoie la requête d'origine non modifiée.

Consultez cet exemple sur 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; }

Pour plus d'informations sur les réécritures et les redirections, voir Gestion des réécritures et des redirections à l'aide des fonctions Edge dans le studio Workshop. AWS