コンテンツにスキップ

国コードリダイレクト

訪問者のヘッダーにある国コードに基づいてレスポンスをリダイレクトします。

export default {
async fetch(request) {
/**
* リダイレクト先のURLのマップ
* @param {Object} countryMap
*/
const countryMap = {
US: "https://example.com/us",
EU: "https://example.com/eu",
};
// cfオブジェクトを使用してリクエストの国を取得します
// cfオブジェクトの詳細: https://developers.cloudflare.com/workers/runtime-apis/request#incomingrequestcfproperties
const country = request.cf.country;
if (country != null && country in countryMap) {
const url = countryMap[country];
// 最終出力からこのログ文を削除してください。
console.log(
`${country}に基づくリクエストにより、ユーザーは${url}に移動します。`,
);
return Response.redirect(url);
} else {
return fetch("https://example.com", request);
}
},
};