EdgeOne Logo
Documentation
请选择
请选择
Overview
Menu

基于请求区域重定向

该示例通过判断客户端所属区域,自动重定向到所属区域的目标网址。实现了通过边缘函数根据客户端所属区域分发请求。

示例代码

// 所有区域网址集
const urls = {
CN: 'https://www.example.com/zh-CN',
US: 'https://www.example.com/en-US',
};

// 默认重定向网址
const defaultUrl = 'https://www.example.com/en-US';

/**
* 根据当前请求所在的区域,重定向到目标网址
* @param { Request } request
*/
function handleRequest(request) {
// 获取当前请求所在区域
const alpha2code = request.eo.geo.countryCodeAlpha2;
// 重定向目标网址
const url = urls[alpha2code] || defaultUrl;

return Response.redirect(url, 302);
}

addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request));
});

示例预览

在浏览器地址栏中输入匹配到边缘函数触发规则的 URL,即可预览到示例效果。


相关参考