URL rewrite examples
The examples in this page illustrate how to rewrite URLs with Transform Rules.
Rewrite path of welcome page for visitors in specific countries
To have a welcome page in two languages, create two rewrite URL rules with a static rewrite of the path component:
Rewrite URL rule #1
Text in Expression Editor:
Text after Path > Rewrite to… > Static:
Rewrite URL rule #2
Text in Expression Editor:
Text after Path > Rewrite to… > Static:
Rewrite URL query string of blog visitors
To rewrite a request to the /blog
path to /blog?sort-by=date
, create a rewrite URL rule with the following settings:
Text in Expression Editor:
Text after Query > Rewrite to… > Static:
Additionally, set the path rewrite action of the same rule to Preserve so that the URL path does not change.
Rewrite path of archived blog posts
To rewrite all requests to /news/2012/...
to /archive/news/2012/...
you must add a reference to the content of the original URL. Create a new rewrite URL rule and define a dynamic URL path rewrite using an expression:
Text in Expression Editor:
Text after Path > Rewrite to… > Dynamic:
The filter uses the starts_with()
function all paths starting with /news/2012/
. The dynamic path rewrite uses the concat()
function to concatenate a prefix to the original URL path of the HTTP request.
Rewrite path of moved section of a website
To rewrite everything under /blog/<PATH>
to /marketing/<PATH>
you must modify the first component of the path (/blog/
). Create a rewrite URL rule and use the regex_replace()
function for this purpose:
Text in Expression Editor:
Text after Path > Rewrite to… > Dynamic:
The regex_replace()
function matches the path component on a regular expression (^/blog/
) and then provides a replacement for that match (/marketing/
).
Rewrite path with several URL segments to a different URL segment
To rewrite paths like /images/<FOLDER1>/<FOLDER2>/<FILENAME>
— where <FOLDER1>
, <FOLDER2>
, and <FILENAME>
can vary — to /img/<FILENAME>
, create a rewrite URL rule with a dynamic rewrite of the path component:
Text in Expression Editor:
Text after Path > Rewrite to… > Dynamic:
For example, this rule would rewrite the /images/nature/animals/tiger.png
path to /img/tiger.png
.
Rewrite blog archive URLs to support a new URL format
To rewrite the URLs of a blog archive that follow the URL format /posts/<YYYY>-<MM>-<DD>-<TITLE>
to the new format /posts/<YYYY>/<MM>/<DD>/<TITLE>
, create the following rewrite URL rule:
Text in Expression Editor:
Text after Path > Rewrite to… > Dynamic:
The function regex_replace()
also allows you to extract parts of the URL using regular expressions’ capture groups. Create capture groups by putting part of the regular expression in parentheses. Then, reference a capture group using ${<NUMBER>}
in the replacement string, where <NUMBER>
is the number of the capture group.
Serve images from custom paths
When using Cloudflare Image Optimization, you can use URL rewrites to serve images from a custom path. For more information, refer to Serve images from custom domains and paths.