Bulk redirects
Redirect requests to certain URLs based on a mapped object to the request's URL.
export default { async fetch(request) { const externalHostname = "examples.cloudflareworkers.com";
const redirectMap = new Map([ ["/bulk1", "https://" + externalHostname + "/redirect2"], ["/bulk2", "https://" + externalHostname + "/redirect3"], ["/bulk3", "https://" + externalHostname + "/redirect4"], ["/bulk4", "https://google.com"], ]);
const requestURL = new URL(request.url); const path = requestURL.pathname; const location = redirectMap.get(path);
if (location) { return Response.redirect(location, 301); } // If request not in map, return the original request return fetch(request); },};
export default { async fetch(request): Promise<Response> { const externalHostname = "examples.cloudflareworkers.com";
const redirectMap = new Map([ ["/bulk1", "https://" + externalHostname + "/redirect2"], ["/bulk2", "https://" + externalHostname + "/redirect3"], ["/bulk3", "https://" + externalHostname + "/redirect4"], ["/bulk4", "https://google.com"], ]);
const requestURL = new URL(request.url); const path = requestURL.pathname; const location = redirectMap.get(path);
if (location) { return Response.redirect(location, 301); } // If request not in map, return the original request return fetch(request); },} satisfies ExportedHandler;
from workers import Response, fetchfrom urllib.parse import urlparse
async def on_fetch(request): external_hostname = "examples.cloudflareworkers.com"
redirect_map = { "/bulk1": "https://" + external_hostname + "/redirect2", "/bulk2": "https://" + external_hostname + "/redirect3", "/bulk3": "https://" + external_hostname + "/redirect4", "/bulk4": "https://google.com", }
url = urlparse(request.url) location = redirect_map.get(url.path, None)
if location: return Response.redirect(location, 301)
# If request not in map, return the original request return fetch(request)
import { Hono } from "hono";
const app = new Hono();
// Configure your redirectsconst externalHostname = "examples.cloudflareworkers.com";
const redirectMap = new Map([ ["/bulk1", `https://${externalHostname}/redirect2`], ["/bulk2", `https://${externalHostname}/redirect3`], ["/bulk3", `https://${externalHostname}/redirect4`], ["/bulk4", "https://google.com"],]);
// Middleware to handle redirectsapp.use("*", async (c, next) => { const path = c.req.path; const location = redirectMap.get(path);
if (location) { // If path is in our redirect map, perform the redirect return c.redirect(location, 301); }
// Otherwise, continue to the next handler await next();});
// Default handler for requests that don't match any redirectsapp.all("*", async (c) => { // Pass through to origin return fetch(c.req.raw);});
export default app;
Was this helpful?
- Resources
- API
- New to Cloudflare?
- Products
- Sponsorships
- Open Source
- Support
- Help Center
- System Status
- Compliance
- GDPR
- Company
- cloudflare.com
- Our team
- Careers
- 2025 Cloudflare, Inc.
- Privacy Policy
- Terms of Use
- Report Security Issues
- Trademark