首页 > 其他 > 详细

借助 CloudFlare Workers 进行多规则匹配式 301 重定向

时间:2020-09-14 09:26:04      阅读:66      评论:0      收藏:0      [点我收藏+]
本文首发于 lzcBlog,原文链接为 https://www.lzc256.com/archives/608/ 推荐转移到原文阅读,体验更佳。本文不采用 Creative Commons 版权模板,转载协议请以原文文尾为准。

网站换域名了搞 301 重定向老是出问题,想到用 CloudFlare Workers。

你可能会说,我用 Page Rules 他不香吗?但是请注意,免费版的 Page Rules 只有三条,而且转发一个域名就要占一条,香不起来啊。而 Workers 每天 10w 次请求,免费三十个,而且设置路由不会再多占任何项目,优点明显。

该工具特点如下:

  • 多规则匹配式,一个 Workers 搞定所有域名的转发
  • 超轻量
  • 转发类型默认为 301 重定向。
  • 除了替换域名实现转发外,也可以替换网址中的某个值。
  • 可以用于微信 QQ 防红、网址转发等目的。

1.实现方法

新建一个 Workers,将以下代码粘贴进代码框中。

/* @variable rules
 * @Use: 指定重定向的规则
 * @Usage: 详见 https://www.lzc256.com/archives/608
*/ 
const rules = [{"oldurl":".lzcapp.cn","newurl":".lzc256.com"},{"oldurl":".lzcapp.xyz","newurl":".lzc256.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‘))的正则表达式。可以设置无限条规则。

2.rules 生成

对于不太会 JSON 的同学,我们提供了 rules 生成器。链接:[btnblue href="https://tools.lzc256.com/lzcCFW301Generator" target="blank"]lzcCFW301Generator[/btnblue]

借助 CloudFlare Workers 进行多规则匹配式 301 重定向

原文:https://blog.51cto.com/14906832/2532488

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!