addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
let newUrl = new URL(request.url);
// 根据域名修改 URL
switch (newUrl.hostname) {
case 'www.xxx.com':
newUrl.hostname = 'www.xxx.com';
newUrl.port = '10086'; // 确保端口设置为字符串
break;
case 't.xxx.com':
newUrl.hostname = 'www.xxx.com';
newUrl.port = '10086'; // 同上
break;
// 可以添加更多的 case 语句来处理其他子域名
}
// 修改协议为 http
newUrl.protocol = 'http:';
// 创建一个新的 Request 对象,并复制原始请求的所有头部
let newRequest = new Request(newUrl.toString(), request);
return fetch(newRequest);
}
注意:本文归作者所有,未经作者允许,不得转载