273 字
1 分钟
0
借助 CloudFlare Workers 进行多规则匹配式 301 重定向
网站搞 301 重定向老是出问题,想到用 CloudFlare Workers。
免费版的 Page Rules 只有三条,而且转发一个域名就要占一条。而 Workers 每天免费 10w 次请求,可以免费创建三十个,而且设置路由不会再多占任何项目,优点明显。
该工具特点如下:
- 多规则匹配式,一个 Workers 搞定所有域名的转发
- 转发类型默认为 301 重定向。
- 除了替换域名实现转发外,也可以替换网址中的某个值。
- 可以用于微信 QQ 防红、网址转发等目的。
1.实现方法
新建一个 Workers,将以下代码粘贴进代码框中。
const rules = [{"oldurl":".oldurl.com","newurl":".newurl.com"},{"oldurl":"abc.oldurl","newurl":"def.newurl.com"}];
async function handleRequest(request) {
var url = request.url;
for (var i = 0, l = rules.length; i < l; i++) {
url = url.replace(rules[i].oldurl, rules[i].newurl);
}
return Response.redirect(new URL(url), 301);
}
addEventListener('fetch', async event => {
event.respondWith(handleRequest(event.request))
});
按需更改 rules 常量,其类型为 JSON。
- 其中,
oldurl
是需要匹配的规则,newurl
是替换的规则 oldurl
也可以是对象类型(new RegExp('xxx')
)的正则表达式。可以设置无限条规则。
借助 CloudFlare Workers 进行多规则匹配式 301 重定向
https://blog.lzc256.com/posts/redirect-url-with-cloudflare-workers/