コンテンツにスキップ

マップオブジェクトに基づくバルクリダイレクト

マッピングされたオブジェクトに基づいて、リクエストのURLに対して特定のURLにリクエストをリダイレクトします。

export default {
async fetch(request) {
// リダイレクトする必要があるホスト名を定義します。
const externalHostname = "example.com";
// マップオブジェクトを定義します。ソース(/pathX)とターゲット(/redirectX)を適用するものに置き換えてください。
const redirectMap = new Map([
["/path1", "https://" + externalHostname + "/redirect1"],
["/path2", "https://" + externalHostname + "/redirect2"],
["/path3", "https://" + externalHostname + "/redirect3"],
["/path4", "https://cloudflare.com"],
]);
// 元のURLをクローンします。
const requestURL = new URL(request.url);
// マップに対してリクエストパスをチェックし、それに応じてリダイレクトします。
const path = requestURL.pathname;
const location = redirectMap.get(path);
if (location) {
return Response.redirect(location, 301);
}
// リクエストパスがマップにない場合、元のリクエストを返します。
return fetch(request);
},
};