Redirects Get Smarter Than a Simple URL Match

Websites are never static. Content moves, gets reorganized, or is replaced as businesses evolve—and visitors need to end up at the right page regardless. The standard answer has long been the URL redirect: a mapping that tells a browser a page has moved and where to find its new home.

Historically, Cloudflare handled this job with Page Rules or Bulk Redirects. Both work well when the destination is fixed, but they share a limitation: the redirect decision can only be based on the URL itself. If a site needs to route a French-speaking visitor to www.example.com/fr/shop and a German-speaking visitor to www.example.com/de/shop from the same URL, these static tools fall short. That kind of logic previously forced users to write custom code in Cloudflare Workers. Dynamic Redirects now brings that capability into the dashboard without a single line of code, letting customers redirect based on hundreds of request parameters such as visitor country, device type, or accepted language.

From Fixed Maps to Dynamic Expressions

Static redirects are straightforward: define the URL to catch, define the URL to send the user to. Bulk Redirects extends this to massive scale—over six million redirects per account since April 2022—but it still only handles the prescriptive case. Visitors whose preferred language is French still get the same target as visitors who prefer German, unless a developer builds a Worker to handle the nuance.

Dynamic Redirects changes that by borrowing the action model from URL Rewrite rules in Transform Rules. Instead of hardcoding target URLs, the action field can compose a destination dynamically from request data. The concept is simple—redirect www.example.com/shop to a language-specific path rather than a fixed path like www.example.com/en/shop. The actual syntax uses expression functions, not placeholder strings, to construct the target URL at request time.

If a visitor asks for.. Redirect them to…
https://www.cloudflare.com/r2-storage https://www.cloudflare.com/products/r2
https://www.cloudflare.com/apishield https://www.cloudflare.com/products/api-gateway
https://www.cloudflare.com/welcome-center https://developers.cloudflare.com/fundamentals/get-started/

The filtering side gets an equal upgrade. Page Rules can only match on URLs, optionally with wildcards. Dynamic Redirects is built on the same Rulesets Engine that powers Custom Rules, Transform Rules, and API Shield. That means the full set of rule language fields and logical operators is available. Expressions can test ip.geoip.country for origin, http.request.accepted_languages[] for language preference, or combine several distinct URLs into a single rule with an OR—a consolidation that previously demanded multiple Page Rules.

# Expression Destination URL
1 (http.request.full_uri eq "https:/www.cloudflare.com/partners/integrations/") or (http.request.full_uri eq "https:/www.cloudflare.com/partners/become-a-partner/") or (http.request.full_uri eq "https:/www.cloudflare.com/partners/digital-agency/") or (http.request.full_uri eq "https:/www.cloudflare.com/partners/technology-integrator/") or (http.request.full_uri eq "https:/www.cloudflare.com/partners/view-partners/") www.cloudflare.com/partners/

Dedicated Quota for Redirects

The rules quota has also been a bottleneck. Page Rules serve many purposes—caching configuration, header modification, origin settings, and URL forwarding—so users routinely exhaust their allowance on non-redirect tasks. Each of the newly announced rule products, including Dynamic Redirects, gets its own quota. An Enterprise customer with 125 Page Rules to share now gets 125 rules dedicated exclusively to redirects, with room to request more.

Free plans see a comparable boost. While they previously received three Page Rules total, they now get 10 rules for dynamic redirects—plus separate allocations for the other new rule products. The net increase gives users more room to fine-tune traffic handling without sacrificing one feature for another.

Plan Page Rules Dynamic Redirects
Enterprise 125 125+
Business 50 50
Pro 20 25
Free 3 10

Language-Aware Redirects in Practice

The most concrete illustration is localizing content by browser language. Browsers send an Accept-Language HTTP header that Cloudflare exposes as the http.request.accepted_languages[] array, sorted by descending preference weight. A header reading Accept-Language: fr-CH, fr;q=0.8, en;q=0.9, de;q=0.7, *;q=0.5 results in http.request.accepted_languages[0] containing en, and http.request.accepted_languages[1] containing fr.

With Dynamic Redirects, one rule can inspect that array and redirect accordingly. A rule expression that checks http.request.accepted_languages[0] equals en sends English-preference visitors to www.example.com/en/shop. Duplicating the rule for fr routes French-preference visitors to the corresponding localized page.

BLOG-1337 Embedded Image - PZti8h

Not Exhausted by Language

Language localization is just one possibility. The same infrastructure supports mobile device redirects, cookie-based routing, and splitting traffic to different endpoints for live testing based on request headers. The combination of expression engine and dynamic action opens a broad range of scenarios that previously required custom application code.

Users can try the feature today in the Cloudflare dashboard and read the full technical reference in the documentation.