通过 Cloudflare Workers 实现 301 重定向
✨ 通过使用 Cloudflare Workers 实现 301 重定向,将域名 https://home.okhk.net 重定向到 https://i.okhk.net。创建 Workers 并编写代码以处理请求,设置重定向目标和状态码,最后配置自定义域名以完成重定向。
背景
我的个人主页部署在了 Cloudflare Pages 上,其绑定了 https://i.okhk.net 的域名,现在希望 https://home.okhk.net 能够重定向到 https://i.okhk.net 上去,但如果在 Pages 中直接增加绑定 home 域名,只能实现网页访问,并没有达成重定向到 i 域名。而尝试配置 CNAME 的 DNS 记录也行不通。但又不想因此引入 Nginx 来实现,故而想到使用 Cloudflare Workers 来实现。
其实还可以通过 Cloudflare 的 规则 - 重定向规则 来快速配置的,此处是故意用 Workers 实现,属于是为了这醋包了顿饺子🥟。
步骤
新建 Workers

代码如下:
// 定义重定向目标 URL 和状态码
const REDIRECT_URL = "https://i.okhk.net/";
const REDIRECT_STATUS = 301; // 301 表示永久重定向,302 表示临时重定向
/**
* 监听 fetch 事件,这是 Cloudflare Worker 的入口点
*/
addEventListener("fetch", (event) => {
event.respondWith(handleRequest(event.request));
});
/**
* 处理请求并返回重定向响应
* @param {Request} request - 传入的请求对象
* @returns {Response} 重定向响应
*/
async function handleRequest(request) {
// 返回重定向响应
return Response.redirect(REDIRECT_URL, REDIRECT_STATUS);
}部署完成后即可通过形如 *.*. workers.dev 的域名来体验重定向效果了。
配置域名


增加自定义域名:home.okhk.net
此时再访问 https://home.okhk.net 即可重定向到 https://i.okhk.net 了。