Mengarahkan penampil ke URL baru - Amazon CloudFront

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengarahkan penampil ke URL baru

Fungsi permintaan penampil berikut menghasilkan respons untuk mengarahkan penampil ke URL khusus negara saat permintaan berasal dari dalam negara tertentu. Fungsi ini bergantung pada nilai CloudFront-Viewer-Country untuk menentukan negara penampil.

penting

Agar fungsi ini berfungsi, Anda harus mengonfigurasi CloudFront untuk menambahkan CloudFront-Viewer-Country header ke permintaan masuk dengan menambahkannya ke header yang diizinkan dalam kebijakan cache atau kebijakan permintaan asal.

Contoh ini mengalihkan penampil ke URL khusus Jerman saat permintaan penampil berasal dari Jerman. Jika permintaan penampil tidak berasal dari Jerman, fungsi akan mengembalikan permintaan asli yang belum diubah.

Lihat contoh ini di 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; }

Untuk informasi selengkapnya tentang penulisan ulang dan pengalihan, lihat Menangani penulisan ulang dan pengalihan menggunakan fungsi tepi di studio bengkel. AWS