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