Arahkan penampil ke yang baru URL - Amazon CloudFront

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

Arahkan penampil ke yang baru URL

Fungsi permintaan penampil berikut menghasilkan respons untuk mengarahkan penampil ke negara tertentu URL 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 mengarahkan penampil ke bahasa Jerman khusus URL saat permintaan pemirsa 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