@@ -58,4 +62,8 @@ For the complete guide to deploying your first site to Cloudflare Pages, refer t
After deploying your site, you will receive a unique subdomain for your project on `*.pages.dev`.
Every time you commit new code to your Vue application, Cloudflare Pages will automatically rebuild your project and deploy it. You will also get access to [preview deployments](/pages/configuration/preview-deployments/) on new pull requests, so you can preview how changes look to your site before deploying them to production.
-
diff --git a/src/content/docs/pages/framework-guides/deploy-a-zola-site.mdx b/src/content/docs/pages/framework-guides/deploy-a-zola-site.mdx
index 8f315099962b43e..b5d917bde1a2e6c 100644
--- a/src/content/docs/pages/framework-guides/deploy-a-zola-site.mdx
+++ b/src/content/docs/pages/framework-guides/deploy-a-zola-site.mdx
@@ -84,7 +84,11 @@ Upon running `zola init`, you will prompted with three questions:
## Deploy with Cloudflare Pages
-
@@ -128,4 +132,8 @@ This command uses:
- The `base_url` set in `config.toml` when building from the `main` branch
- The preview deployment URL (automatically provided by Cloudflare Pages as `$CF_PAGES_URL`) for all other branches
-
diff --git a/src/content/docs/pages/framework-guides/deploy-an-analog-site.mdx b/src/content/docs/pages/framework-guides/deploy-an-analog-site.mdx
index 41f3678f220bd7e..59e36995d120773 100644
--- a/src/content/docs/pages/framework-guides/deploy-an-analog-site.mdx
+++ b/src/content/docs/pages/framework-guides/deploy-an-analog-site.mdx
@@ -149,7 +149,11 @@ git push -u origin main
### Create a Pages project
-
diff --git a/src/content/docs/pages/framework-guides/deploy-an-angular-site.mdx b/src/content/docs/pages/framework-guides/deploy-an-angular-site.mdx
index 461cd386ff6849e..994327f32b43500 100644
--- a/src/content/docs/pages/framework-guides/deploy-an-angular-site.mdx
+++ b/src/content/docs/pages/framework-guides/deploy-an-angular-site.mdx
@@ -54,7 +54,11 @@ git push -u origin main
### Create a Pages project
-
@@ -71,4 +75,8 @@ Review your first deploy pipeline in progress. Pages installs all dependencies a
Additionally, you will have access to [preview deployments](/pages/configuration/preview-deployments/), which repeat the build-and-deploy process for pull requests. With these, you can preview changes to your project with a real URL before deploying your changes to production.
-
diff --git a/src/content/docs/pages/framework-guides/deploy-an-astro-site.mdx b/src/content/docs/pages/framework-guides/deploy-an-astro-site.mdx
index e7d572b105e6ac9..61d13c766ab6c50 100644
--- a/src/content/docs/pages/framework-guides/deploy-an-astro-site.mdx
+++ b/src/content/docs/pages/framework-guides/deploy-an-astro-site.mdx
@@ -61,11 +61,15 @@ npm run astro add cloudflare
## Deploy with Cloudflare Pages
-
@@ -157,4 +161,8 @@ const value = await myKV.get("key");
To learn more about the Astro Cloudflare runtime, refer to the [Access to the Cloudflare runtime](https://docs.astro.build/en/guides/integrations-guide/cloudflare/#access-to-the-cloudflare-runtime) in the Astro documentation.
-
+
diff --git a/src/content/docs/pages/framework-guides/deploy-an-elderjs-site.mdx b/src/content/docs/pages/framework-guides/deploy-an-elderjs-site.mdx
index e918bc319cbe8c3..39d89fce5e33372 100644
--- a/src/content/docs/pages/framework-guides/deploy-an-elderjs-site.mdx
+++ b/src/content/docs/pages/framework-guides/deploy-an-elderjs-site.mdx
@@ -33,6 +33,7 @@ The Elder.js template includes a number of pages and examples showing how to bui
@@ -56,4 +57,8 @@ For the complete guide to deploying your first site to Cloudflare Pages, refer t
:::
-
+
diff --git a/src/content/docs/pages/framework-guides/deploy-an-eleventy-site.mdx b/src/content/docs/pages/framework-guides/deploy-an-eleventy-site.mdx
index 89e92875b1930d9..1f6936ee382ed18 100644
--- a/src/content/docs/pages/framework-guides/deploy-an-eleventy-site.mdx
+++ b/src/content/docs/pages/framework-guides/deploy-an-eleventy-site.mdx
@@ -46,6 +46,7 @@ git push -u origin main
@@ -60,4 +61,8 @@ For the complete guide to deploying your first site to Cloudflare Pages, refer t
After deploying your site, you will receive a unique subdomain for your project on `*.pages.dev`.
Every time you commit new code to your Eleventy site, Cloudflare Pages will automatically rebuild your project and deploy it. You will also get access to [preview deployments](/pages/configuration/preview-deployments/) on new pull requests, so you can preview how changes look to your site before deploying them to production.
-
+
diff --git a/src/content/docs/pages/framework-guides/deploy-an-emberjs-site.mdx b/src/content/docs/pages/framework-guides/deploy-an-emberjs-site.mdx
index b7c0e136858287d..c3733d8d0be7b3f 100644
--- a/src/content/docs/pages/framework-guides/deploy-an-emberjs-site.mdx
+++ b/src/content/docs/pages/framework-guides/deploy-an-emberjs-site.mdx
@@ -46,6 +46,7 @@ npm start
@@ -57,4 +58,8 @@ Every time you commit new code to your Ember site, Cloudflare Pages will automat
For the complete guide to deploying your first site to Cloudflare Pages, refer to the [Get started guide](/pages/get-started/).
-
+
diff --git a/src/content/docs/pages/framework-guides/deploy-an-mkdocs-site.mdx b/src/content/docs/pages/framework-guides/deploy-an-mkdocs-site.mdx
index 77972d1647cf5c1..222d137e1c829ff 100644
--- a/src/content/docs/pages/framework-guides/deploy-an-mkdocs-site.mdx
+++ b/src/content/docs/pages/framework-guides/deploy-an-mkdocs-site.mdx
@@ -42,7 +42,11 @@ You have successfully created a GitHub repository and pushed your MkDocs project
## Deploy with Cloudflare Pages
-
+
@@ -54,4 +58,8 @@ Every time you commit new code to your MkDocs site, Cloudflare Pages will automa
For the complete guide to deploying your first site to Cloudflare Pages, refer to the [Get started guide](/pages/get-started/).
-
+
diff --git a/src/content/docs/pages/framework-guides/deploy-anything.mdx b/src/content/docs/pages/framework-guides/deploy-anything.mdx
index b33f6c3f0c9e026..407d0164163399f 100644
--- a/src/content/docs/pages/framework-guides/deploy-anything.mdx
+++ b/src/content/docs/pages/framework-guides/deploy-anything.mdx
@@ -48,4 +48,8 @@ If you are getting `404` errors when visiting your `*.pages.dev` domain, make su
-
+
diff --git a/src/content/docs/pages/framework-guides/nextjs/deploy-a-static-nextjs-site.mdx b/src/content/docs/pages/framework-guides/nextjs/deploy-a-static-nextjs-site.mdx
index 64a1a401667ab0c..ce559a6b8e145a8 100644
--- a/src/content/docs/pages/framework-guides/nextjs/deploy-a-static-nextjs-site.mdx
+++ b/src/content/docs/pages/framework-guides/nextjs/deploy-a-static-nextjs-site.mdx
@@ -56,6 +56,7 @@ git push -u origin main
diff --git a/src/content/docs/rules/cloud-connector/index.mdx b/src/content/docs/rules/cloud-connector/index.mdx
index c6ae7eab7a20e18..fc4756a7edeb74d 100644
--- a/src/content/docs/rules/cloud-connector/index.mdx
+++ b/src/content/docs/rules/cloud-connector/index.mdx
@@ -17,6 +17,7 @@ Cloud Connector (beta) allows you to route matching incoming traffic from your w
diff --git a/src/content/docs/rules/compression-rules/create-api.mdx b/src/content/docs/rules/compression-rules/create-api.mdx
index 700d97321bf9130..7c5f56524928bdf 100644
--- a/src/content/docs/rules/compression-rules/create-api.mdx
+++ b/src/content/docs/rules/compression-rules/create-api.mdx
@@ -22,6 +22,7 @@ When creating a compression rule via API, make sure you:
-
+
diff --git a/src/content/docs/rules/compression-rules/examples/disable-compression-avif.mdx b/src/content/docs/rules/compression-rules/examples/disable-compression-avif.mdx
index 45797c2ecbf4e66..908bc0c408d8c7b 100644
--- a/src/content/docs/rules/compression-rules/examples/disable-compression-avif.mdx
+++ b/src/content/docs/rules/compression-rules/examples/disable-compression-avif.mdx
@@ -22,7 +22,6 @@ The following example rule will disable compression for AVIF images, based on ei
**When incoming requests match**
- Custom filter expression:
-
- _Media Type_ _equals_ `image/avif` **OR**
- _File extension_ _equals_ `avif`
@@ -54,6 +53,10 @@ The following example sets the rules of an existing [entry point ruleset](/rules
}}
/>
-
+
diff --git a/src/content/docs/rules/compression-rules/examples/enable-zstandard.mdx b/src/content/docs/rules/compression-rules/examples/enable-zstandard.mdx
index 0457631a76e6037..ba03e68ddeb79e2 100644
--- a/src/content/docs/rules/compression-rules/examples/enable-zstandard.mdx
+++ b/src/content/docs/rules/compression-rules/examples/enable-zstandard.mdx
@@ -18,7 +18,6 @@ The following example rule will turn on Zstandard compression for response conte
**When incoming requests match**
- Custom filter expression:
-
- _Media Type_ _is in_ `text/html, text/richtext, text/plain, text/css, text/x-script, text/x-component, text/x-java-source, text/x-markdown, application/javascript, application/x-javascript, text/javascript, text/js, image/x-icon, image/vnd.microsoft.icon, application/x-perl, application/x-httpd-cgi, text/xml, application/xml, application/rss+xml, application/vnd.api+json, application/x-protobuf, application/json, multipart/bag, multipart/mixed, application/xhtml+xml, font/ttf, font/otf, font/x-woff, image/svg+xml, application/vnd.ms-fontobject, application/ttf, application/x-ttf, application/otf, application/x-otf, application/truetype, application/opentype, application/x-opentype, application/font-woff, application/eot, application/font, application/font-sfnt, application/wasm, application/javascript-binast, application/manifest+json, application/ld+json, application/graphql+json, application/geo+json`
**Then**
@@ -50,6 +49,10 @@ The following example sets the rules of an existing [entry point ruleset](/rules
}}
/>
-
+
diff --git a/src/content/docs/rules/compression-rules/examples/gzip-for-csv.mdx b/src/content/docs/rules/compression-rules/examples/gzip-for-csv.mdx
index c61264943f34774..951999d14727273 100644
--- a/src/content/docs/rules/compression-rules/examples/gzip-for-csv.mdx
+++ b/src/content/docs/rules/compression-rules/examples/gzip-for-csv.mdx
@@ -20,7 +20,6 @@ The following example rule will configure Gzip compression as the preferred comp
**When incoming requests match**
- Custom filter expression:
-
- _File extension_ _equals_ `csv`
**Then**
@@ -51,6 +50,10 @@ The following example sets the rules of an existing [entry point ruleset](/rules
}}
/>
-
+
diff --git a/src/content/docs/rules/compression-rules/examples/only-brotli-url-path.mdx b/src/content/docs/rules/compression-rules/examples/only-brotli-url-path.mdx
index 48f0169fac3a3d2..dcaf12bef48ac7a 100644
--- a/src/content/docs/rules/compression-rules/examples/only-brotli-url-path.mdx
+++ b/src/content/docs/rules/compression-rules/examples/only-brotli-url-path.mdx
@@ -20,7 +20,6 @@ The following example rule will configure only Brotli compression for a specific
**When incoming requests match**
- Custom filter expression:
-
- _URI Path_ _equals_ `/download/assets.tar`
**Then**
@@ -53,6 +52,10 @@ The following example sets the rules of an existing [entry point ruleset](/rules
}}
/>
-
+
diff --git a/src/content/docs/rules/compression-rules/index.mdx b/src/content/docs/rules/compression-rules/index.mdx
index 057e3f7be7d2d8c..e107d9e10ea8d84 100644
--- a/src/content/docs/rules/compression-rules/index.mdx
+++ b/src/content/docs/rules/compression-rules/index.mdx
@@ -15,6 +15,7 @@ When there is a match for a compression rule configured with several compression
@@ -55,5 +56,6 @@ The following fields are commonly used in expressions of compression rules:
diff --git a/src/content/docs/rules/configuration-rules/create-api.mdx b/src/content/docs/rules/configuration-rules/create-api.mdx
index bb7431f27aa07c4..779d317d5d41281 100644
--- a/src/content/docs/rules/configuration-rules/create-api.mdx
+++ b/src/content/docs/rules/configuration-rules/create-api.mdx
@@ -23,6 +23,7 @@ When creating a configuration rule via API, make sure you:
-
+
@@ -83,7 +88,11 @@ The following example sets the rules of an existing phase ruleset (`{ruleset_id}
}}
/>
-
+
diff --git a/src/content/docs/rules/configuration-rules/examples/define-single-configuration-terraform.mdx b/src/content/docs/rules/configuration-rules/examples/define-single-configuration-terraform.mdx
index 72165d00c7605d5..695530b37820372 100644
--- a/src/content/docs/rules/configuration-rules/examples/define-single-configuration-terraform.mdx
+++ b/src/content/docs/rules/configuration-rules/examples/define-single-configuration-terraform.mdx
@@ -37,6 +37,10 @@ resource "cloudflare_ruleset" "http_config_rules_example" {
}
```
-
+
diff --git a/src/content/docs/rules/configuration-rules/index.mdx b/src/content/docs/rules/configuration-rules/index.mdx
index c6e85f21f4f01ae..6113340b39d1453 100644
--- a/src/content/docs/rules/configuration-rules/index.mdx
+++ b/src/content/docs/rules/configuration-rules/index.mdx
@@ -16,6 +16,7 @@ The configuration rule expression will determine to which requests the rule sett
@@ -37,5 +38,6 @@ The number of available configuration rules varies according to your Cloudflare
diff --git a/src/content/docs/rules/custom-errors/create-rules.mdx b/src/content/docs/rules/custom-errors/create-rules.mdx
index c4a115ddb9aea04..8e9c8891333e370 100644
--- a/src/content/docs/rules/custom-errors/create-rules.mdx
+++ b/src/content/docs/rules/custom-errors/create-rules.mdx
@@ -16,7 +16,6 @@ import { APIRequest, Render } from "~/components";
3. Select **Create rule** > **Custom Error Rule**.
4. Enter a descriptive name for the rule in **Rule name**.
5. Under **If incoming requests match**, select one of the following options:
-
- **Custom filter expression**: The rule will only apply to traffic matching a custom expression. Define the [rule expression](/ruleset-engine/rules-language/expressions/edit-expressions/) to configure which requests should be rewritten. Use either the Expression Builder or the Expression Editor to define the custom expression. For more information, refer to [Edit expressions in the dashboard](/ruleset-engine/rules-language/expressions/edit-expressions/).
- **All incoming requests**: The rule will apply to all responses with a `400` status code or above, except for block and challenge actions issued by Cloudflare’s security products.
@@ -124,7 +123,11 @@ This example configures a custom error rule returning a [previously created cust
}}
/>
-
+
This `PUT` request, corresponding to the [Update a zone entry point ruleset](/api/resources/rulesets/subresources/phases/methods/update/) operation, replaces any existing rules in the `http_custom_errors` phase entry point ruleset.
diff --git a/src/content/docs/rules/custom-errors/example-rules.mdx b/src/content/docs/rules/custom-errors/example-rules.mdx
index 4c1318315b645f4..14040e6d7aca11a 100644
--- a/src/content/docs/rules/custom-errors/example-rules.mdx
+++ b/src/content/docs/rules/custom-errors/example-rules.mdx
@@ -62,7 +62,11 @@ This example configures a custom JSON error response for all 5XX errors (`500`-`
}}
/>
-
+
This `PUT` request, corresponding to the [Update a zone entry point ruleset](/api/resources/rulesets/subresources/phases/methods/update/) operation, replaces any existing rules in the `http_custom_errors` phase entry point ruleset.
@@ -121,7 +125,11 @@ This example configures a custom HTML error response for responses with a `500`
}}
/>
-
+
This `PUT` request, corresponding to the [Update a zone entry point ruleset](/api/resources/rulesets/subresources/phases/methods/update/) operation, replaces any existing rules in the `http_custom_errors` phase entry point ruleset.
@@ -174,7 +182,11 @@ This example configures a custom HTML error response for [Cloudflare error 1020]
}}
/>
-
+
This `PUT` request, corresponding to the [Update a zone entry point ruleset](/api/resources/rulesets/subresources/phases/methods/update/) operation, replaces any existing rules in the `http_custom_errors` phase entry point ruleset.
@@ -226,7 +238,11 @@ This example configures a custom error rule returning a previously created custo
}}
/>
-
+
This `PUT` request, corresponding to the [Update a zone entry point ruleset](/api/resources/rulesets/subresources/phases/methods/update/) operation, replaces any existing rules in the `http_custom_errors` phase entry point ruleset.
diff --git a/src/content/docs/rules/normalization/index.mdx b/src/content/docs/rules/normalization/index.mdx
index 0568db700fd6dd4..d724bad09e8f586 100644
--- a/src/content/docs/rules/normalization/index.mdx
+++ b/src/content/docs/rules/normalization/index.mdx
@@ -19,6 +19,7 @@ URL normalization does not perform any
redirect
diff --git a/src/content/docs/rules/origin-rules/create-api.mdx b/src/content/docs/rules/origin-rules/create-api.mdx
index 780de4ec2939c55..de872d3897247c2 100644
--- a/src/content/docs/rules/origin-rules/create-api.mdx
+++ b/src/content/docs/rules/origin-rules/create-api.mdx
@@ -22,6 +22,7 @@ When creating an origin rule via API, make sure you:
@@ -65,7 +66,11 @@ The following example sets the rules of an existing phase ruleset (`$RULESET_ID`
}}
/>
-
+
diff --git a/src/content/docs/rules/origin-rules/examples/define-single-origin-terraform.mdx b/src/content/docs/rules/origin-rules/examples/define-single-origin-terraform.mdx
index d466a76cc6eb5f9..3b9d01e05a21e2f 100644
--- a/src/content/docs/rules/origin-rules/examples/define-single-origin-terraform.mdx
+++ b/src/content/docs/rules/origin-rules/examples/define-single-origin-terraform.mdx
@@ -40,6 +40,10 @@ resource "cloudflare_ruleset" "http_origin_example" {
}
```
-
+
diff --git a/src/content/docs/rules/origin-rules/index.mdx b/src/content/docs/rules/origin-rules/index.mdx
index 1ee709480690320..6199a90455e87dc 100644
--- a/src/content/docs/rules/origin-rules/index.mdx
+++ b/src/content/docs/rules/origin-rules/index.mdx
@@ -21,12 +21,14 @@ The origin rule expression will determine when these overrides will be applied.
@@ -52,5 +54,6 @@ Like [Page Rules](/rules/page-rules/), an origin rule performing a `Host` header
diff --git a/src/content/docs/rules/reference/page-rules-migration.mdx b/src/content/docs/rules/reference/page-rules-migration.mdx
index 81bff06f0afb74c..8c9e2ff586a7f6f 100644
--- a/src/content/docs/rules/reference/page-rules-migration.mdx
+++ b/src/content/docs/rules/reference/page-rules-migration.mdx
@@ -127,16 +127,12 @@ You configured a Page Rule to perform an automatic redirect from HTTP to HTTPS f
1. [Create a single redirect](/rules/url-forwarding/single-redirects/create-dashboard/) to always redirect HTTP requests to HTTPS. You can select the **Redirect from HTTP to HTTPS** rule template or enter the following rule configuration:
-
- - **If incoming requests match**: Wildcard pattern
- - **Request URL**: `http://*`
-
- - **Then**:
- - **Target URL**: `https://${1}`
- - **Status code**: _301_
- - **Preserve query string**: Enabled
-
-
+- **If incoming requests match**: Wildcard pattern
+ - **Request URL**: `http://*`
+- **Then**:
+ - **Target URL**: `https://${1}`
+ - **Status code**: _301_
+ - **Preserve query string**: Enabled
2. Turn off your existing Page Rule and validate the behavior of the redirect you created.
@@ -166,18 +162,18 @@ You configured a Page Rule turning on Automatic HTTPS Rewrites for all subdomain
1. [Create a configuration rule](/rules/configuration-rules/create-dashboard/) to always rewrite HTTP links to HTTPS for any hostname containing `example.com`:
-
- - **When incoming requests match**: Custom filter expression
- - Using the Expression Builder:
- `Hostname contains "example.com"`
- - Using the Expression Editor:
- `(http.host contains "example.com")`
+
- - **Then the settings are**:
- - **Setting**: Automatic HTTPS Rewrites
- - **Value**: On
+- **When incoming requests match**: Custom filter expression
+ - Using the Expression Builder:
+ `Hostname contains "example.com"`
+ - Using the Expression Editor:
+ `(http.host contains "example.com")`
+- **Then the settings are**:
+ - **Setting**: Automatic HTTPS Rewrites
+ - **Value**: On
-
+
2. Turn off your existing Page Rule and validate the behavior of the configuration rule you created.
@@ -207,21 +203,21 @@ You configured a Page Rule adjusting browser cache TTL to one day for all subdom
1. [Create a cache rule](/cache/how-to/cache-rules/create-dashboard/) to adjust browser cache TTL for caching resources in the browser to one day for any hostname containing `example.com`:
-
- - **When incoming requests match**: Custom filter expression
- - Using the Expression Builder:
- `Hostname contains "example.com"`
- - Using the Expression Editor:
- `(http.host contains "example.com")`
+
- - **Then**:
- - **Cache eligibility**: Eligible for cache
- - **Browser TTL**: Override origin and use this TTL
- - **Input time-to-live (TTL)**: _1 day_
+- **When incoming requests match**: Custom filter expression
+ - Using the Expression Builder:
+ `Hostname contains "example.com"`
+ - Using the Expression Editor:
+ `(http.host contains "example.com")`
+- **Then**:
+ - **Cache eligibility**: Eligible for cache
+ - **Browser TTL**: Override origin and use this TTL
+ - **Input time-to-live (TTL)**: _1 day_
-
+
-
+
2. Turn off your existing Page Rule and validate the behavior of the cache rule you created.
@@ -251,18 +247,14 @@ You configured a Page Rule turning on Browser Integrity Check for all subdomains
1. [Create a configuration rule](/rules/configuration-rules/create-dashboard/) to turn on Browser Integrity Check for protecting against bots and threats for any hostname containing `example.com`:
-
- - **When incoming requests match**: Custom filter expression
- - Using the Expression Builder:
- `Hostname contains "example.com"`
- - Using the Expression Editor:
- `(http.host contains "example.com")`
-
- - **Then the settings are**:
- - **Setting**: Browser Integrity Check
- - **Value**: On
-
-
+- **When incoming requests match**: Custom filter expression
+ - Using the Expression Builder:
+ `Hostname contains "example.com"`
+ - Using the Expression Editor:
+ `(http.host contains "example.com")`
+- **Then the settings are**:
+ - **Setting**: Browser Integrity Check
+ - **Value**: On
2. Turn off your existing Page Rule and validate the behavior of the configuration rule you created.
@@ -292,19 +284,15 @@ You configured a Page Rule turning on Bypass Cache on Cookie for all subdomains
1. [Create a cache rule](/cache/how-to/cache-rules/create-dashboard/) to bypass cache for requests containing cookie `test_cookie` for any hostname containing `example.com`:
-
- - **When incoming requests match**: Custom filter expression
- - Using the Expression Builder:
- `Hostname contains "example.com" AND Cookie contains "test-cookie"`
- - Using the Expression Editor:
- `(http.host contains "example.com" and http.cookie contains "test-cookie")`
+- **When incoming requests match**: Custom filter expression
+ - Using the Expression Builder:
+ `Hostname contains "example.com" AND Cookie contains "test-cookie"`
+ - Using the Expression Editor:
+ `(http.host contains "example.com" and http.cookie contains "test-cookie")`
+- **Then**:
+ - **Cache eligibility**: Bypass cache
- - **Then**:
- - **Cache eligibility**: Bypass cache
-
-
-
-
+
2. Turn off your existing Page Rule and validate the behavior of the cache rule you created.
@@ -334,21 +322,17 @@ You configured a Page Rule turning on Cache By Device Type for all subdomains of
1. [Create a cache rule](/cache/how-to/cache-rules/create-dashboard/) to cache content based on user agent or device type for any hostname containing `example.com`:
-
- - **When incoming requests match**: Custom filter expression
- - Using the Expression Builder:
- `Hostname contains "example.com"`
- - Using the Expression Editor:
- `(http.host contains "example.com")`
-
- - **Then**:
- - **Cache eligibility**: Eligible for cache
- - **Setting**: Cache key
- - **Cache by device type**: On
-
-
+- **When incoming requests match**: Custom filter expression
+ - Using the Expression Builder:
+ `Hostname contains "example.com"`
+ - Using the Expression Editor:
+ `(http.host contains "example.com")`
+- **Then**:
+ - **Cache eligibility**: Eligible for cache
+ - **Setting**: Cache key
+ - **Cache by device type**: On
-
+
2. Turn off your existing Page Rule and validate the behavior of the cache rule you created.
@@ -377,21 +361,17 @@ You configured a Page Rule turning on Cache Deception Armor for all subdomains o
1. [Create a cache rule](/cache/how-to/cache-rules/create-dashboard/) to protect against cache deception attacks for any hostname containing `example.com`:
-
- - **When incoming requests match**: Custom filter expression
- - Using the Expression Builder:
- `Hostname contains "example.com"`
- - Using the Expression Editor:
- `(http.host contains "example.com")`
+- **When incoming requests match**: Custom filter expression
+ - Using the Expression Builder:
+ `Hostname contains "example.com"`
+ - Using the Expression Editor:
+ `(http.host contains "example.com")`
+- **Then**:
+ - **Cache eligibility**: Eligible for cache
+ - **Setting**: Cache key
+ - **Cache deception armor**: On
- - **Then**:
- - **Cache eligibility**: Eligible for cache
- - **Setting**: Cache key
- - **Cache deception armor**: On
-
-
-
-
+
2. Turn off your existing Page Rule and validate the behavior of the cache rule you created.
@@ -421,19 +401,15 @@ You configured a Page Rule turning on caching of all assets for all subdomains o
1. [Create a cache rule](/cache/how-to/cache-rules/create-dashboard/) to adjust cache level for any hostname containing `example.com`:
-
- - **When incoming requests match**: Custom filter expression
- - Using the Expression Builder:
- `Hostname contains "example.com"`
- - Using the Expression Editor:
- `(http.host contains "example.com")`
-
- - **Then**:
- - **Cache eligibility**: Eligible for cache
-
-
+- **When incoming requests match**: Custom filter expression
+ - Using the Expression Builder:
+ `Hostname contains "example.com"`
+ - Using the Expression Editor:
+ `(http.host contains "example.com")`
+- **Then**:
+ - **Cache eligibility**: Eligible for cache
-
+
2. Turn off your existing Page Rule and validate the behavior of the cache rule you created.
@@ -463,19 +439,15 @@ You configured a Page Rule turning on caching for responses that contained cooki
1. [Create a cache rule](/cache/how-to/cache-rules/create-dashboard/) to cache responses containing cookie `test_cookie` for any hostname containing `example.com`:
-
- - **When incoming requests match**: Custom filter expression
- - Using the Expression Builder:
- `Hostname contains "example.com" AND Cookie contains "test-cookie"`
- - Using the Expression Editor:
- `(http.host contains "example.com" and http.cookie contains "test-cookie")`
+- **When incoming requests match**: Custom filter expression
+ - Using the Expression Builder:
+ `Hostname contains "example.com" AND Cookie contains "test-cookie"`
+ - Using the Expression Editor:
+ `(http.host contains "example.com" and http.cookie contains "test-cookie")`
+- **Then**:
+ - **Cache eligibility**: Eligible for cache
- - **Then**:
- - **Cache eligibility**: Eligible for cache
-
-
-
-
+
2. Turn off your existing Page Rule and validate the behavior of the cache rule you created.
@@ -506,26 +478,22 @@ You configured a Page Rule turning on caching of every response with status code
1. [Create a cache rule](/cache/how-to/cache-rules/create-dashboard/) to cache responses with status code between `200` and `599` for one day for any hostname containing `example.com`:
-
- - **When incoming requests match**: Custom filter expression
- - Using the Expression Builder:
- `Hostname contains "example.com"`
- - Using the Expression Editor:
- `(http.host contains "example.com")`
-
- - **Then**:
- - **Cache eligibility**: Eligible for cache
- - **Setting**: Edge TTL
- - Use cache-control header if present, use default Cloudflare caching behavior if not
- - **Status code TTL**:
- - **Scope**: _Range_
- - **From**: _200_
- - **To**: _599_
- - **Duration**: _1 day_
-
-
-
-
+- **When incoming requests match**: Custom filter expression
+ - Using the Expression Builder:
+ `Hostname contains "example.com"`
+ - Using the Expression Editor:
+ `(http.host contains "example.com")`
+ - **Then**:
+ - **Cache eligibility**: Eligible for cache
+ - **Setting**: Edge TTL
+ - Use cache-control header if present, use default Cloudflare caching behavior if not
+ - **Status code TTL**:
+ - **Scope**: _Range_
+ - **From**: _200_
+ - **To**: _599_
+ - **Duration**: _1 day_
+
+
2. Turn off your existing Page Rule and validate the behavior of the cache rule you created.
@@ -555,21 +523,17 @@ You configured a Page Rule setting a custom cache key for all query string param
1. [Create a cache rule](/cache/how-to/cache-rules/create-dashboard/) to set a custom cache key for all query string parameters, for any hostname containing `example.com`:
-
- - **When incoming requests match**: Custom filter expression
- - Using the Expression Builder:
- `Hostname contains "example.com"`
- - Using the Expression Editor:
- `(http.host contains "example.com")`
-
- - **Then**:
- - **Cache eligibility**: Eligible for cache
- - **Setting**: Cache key
- - **Query string**: All query string parameters
-
-
+- **When incoming requests match**: Custom filter expression
+ - Using the Expression Builder:
+ `Hostname contains "example.com"`
+ - Using the Expression Editor:
+ `(http.host contains "example.com")`
+- **Then**:
+ - **Cache eligibility**: Eligible for cache
+ - **Setting**: Cache key
+ - **Query string**: All query string parameters
-
+
2. Turn off your existing Page Rule and validate the behavior of the cache rule you created.
@@ -598,17 +562,13 @@ You configured a Page Rule turning off Cloudflare Apps (deprecated) for all subd
1. [Create a configuration rule](/rules/configuration-rules/create-dashboard/) to disable Cloudflare Apps (deprecated) for any hostname containing `example.com`:
-
- - **When incoming requests match**: Custom filter expression
- - Using the Expression Builder:
- `Hostname contains "example.com"`
- - Using the Expression Editor:
- `(http.host contains "example.com")`
-
- - **Then the settings are**:
- - **Setting**: Disable Apps
-
-
+- **When incoming requests match**: Custom filter expression
+ - Using the Expression Builder:
+ `Hostname contains "example.com"`
+ - Using the Expression Editor:
+ `(http.host contains "example.com")`
+- **Then the settings are**:
+ - **Setting**: Disable Apps
2. Turn off your existing Page Rule and validate the behavior of the configuration rule you created.
@@ -643,19 +603,15 @@ You configured a Page Rule with **Disable Performance** (deprecated) for all sub
1. [Create a configuration rule](/rules/configuration-rules/create-dashboard/) to disable Mirage, Polish, and Rocket Loader for any hostname containing `example.com`:
-
- - **When incoming requests match**: Custom filter expression
- - Using the Expression Builder:
- `Hostname contains "example.com"`
- - Using the Expression Editor:
- `(http.host contains "example.com")`
-
- - **Then the settings are**:
- - **Mirage**: Off
- - **Polish**: _Off_
- - **Rocket Loader**: Off
-
-
+- **When incoming requests match**: Custom filter expression
+ - Using the Expression Builder:
+ `Hostname contains "example.com"`
+ - Using the Expression Editor:
+ `(http.host contains "example.com")`
+- **Then the settings are**:
+ - **Mirage**: Off
+ - **Polish**: _Off_
+ - **Rocket Loader**: Off
2. Turn off your existing Page Rule and validate the behavior of the configuration rule you created.
@@ -721,17 +677,13 @@ You configured a Page Rule turning off [Zaraz](/zaraz/) for all subdomains of `e
1. [Create a configuration rule](/rules/configuration-rules/create-dashboard/) to turn off Zaraz for any hostname containing `example.com`:
-
- - **When incoming requests match**: Custom filter expression
- - Using the Expression Builder:
- `Hostname contains "example.com"`
- - Using the Expression Editor:
- `(http.host contains "example.com")`
-
- - **Then the settings are**:
- - **Setting**: Disable Zaraz
-
-
+- **When incoming requests match**: Custom filter expression
+ - Using the Expression Builder:
+ `Hostname contains "example.com"`
+ - Using the Expression Editor:
+ `(http.host contains "example.com")`
+- **Then the settings are**:
+ - **Setting**: Disable Zaraz
2. Turn off your existing Page Rule and validate the behavior of the configuration rule you created.
@@ -761,22 +713,18 @@ You configured a Page Rule adjusting Edge Cache TTL for all subdomains of `examp
1. [Create a cache rule](/cache/how-to/cache-rules/create-dashboard/) to adjust edge cache TTL for caching resources on Cloudflare edge to one day, for any hostname containing `example.com`:
-
- - **When incoming requests match**: Custom filter expression
- - Using the Expression Builder:
- `Hostname contains "example.com"`
- - Using the Expression Editor:
- `(http.host contains "example.com")`
-
- - **Then**:
- - **Cache eligibility**: Eligible for cache
- - **Setting**: Edge TTL
- - Ignore cache-control header and use this TTL
- - **Input time-to-live (TTL)**: _1 day_
+- **When incoming requests match**: Custom filter expression
+ - Using the Expression Builder:
+ `Hostname contains "example.com"`
+ - Using the Expression Editor:
+ `(http.host contains "example.com")`
+- **Then**:
+ - **Cache eligibility**: Eligible for cache
+ - **Setting**: Edge TTL
+ - Ignore cache-control header and use this TTL
+ - **Input time-to-live (TTL)**: _1 day_
-
-
-
+
2. Turn off your existing Page Rule and validate the behavior of the cache rule you created.
@@ -806,18 +754,14 @@ You configured a Page Rule turning off [Email Obfuscation](/waf/tools/scrape-shi
1. [Create a configuration rule](/rules/configuration-rules/create-dashboard/) to turn off Email Obfuscation for any hostname containing `example.com`:
-
- - **When incoming requests match**: Custom filter expression
- - Using the Expression Builder:
- `Hostname contains "example.com"`
- - Using the Expression Editor:
- `(http.host contains "example.com")`
-
- - **Then the settings are**:
- - **Setting**: Email Obfuscation
- - **Value**: Off
-
-
+- **When incoming requests match**: Custom filter expression
+ - Using the Expression Builder:
+ `Hostname contains "example.com"`
+ - Using the Expression Editor:
+ `(http.host contains "example.com")`
+- **Then the settings are**:
+ - **Setting**: Email Obfuscation
+ - **Value**: Off
2. Turn off your existing Page Rule and validate the behavior of the configuration rule you created.
@@ -850,16 +794,12 @@ You configured a Page Rule permanently redirecting `www.example.com` to `example
1. [Create a single redirect](/rules/url-forwarding/single-redirects/create-dashboard/) to permanently redirect requests from `https://www.example.com` to `https://example.com`. You can select the **Redirect from WWW to Root** rule template or enter the following rule configuration:
-
- - **If incoming requests match**: Wildcard pattern
- - **Request URL**: `https://www.example.com/*`
-
- - **Then**:
- - **Target URL**: `https://example.com/${1}`
- - **Status code**: _301_
- - **Preserve query string**: Enabled
-
-
+- **If incoming requests match**: Wildcard pattern
+ - **Request URL**: `https://www.example.com/*`
+- **Then**:
+ - **Target URL**: `https://example.com/${1}`
+ - **Status code**: _301_
+ - **Preserve query string**: Enabled
2. Turn off your existing Page Rule and validate the behavior of the redirect you created.
@@ -867,6 +807,7 @@ You configured a Page Rule permanently redirecting `www.example.com` to `example
- - **If incoming requests match**: Wildcard pattern
- - **Request URL**: `https://example.com/old-path/*`
-
- - **Then**:
- - **Target URL**: `https://example.com/new-path/${1}`
- - **Status code**: _301_
- - **Preserve query string**: Enabled
-
-
+- **If incoming requests match**: Wildcard pattern
+ - **Request URL**: `https://example.com/old-path/*`
+- **Then**:
+ - **Target URL**: `https://example.com/new-path/${1}`
+ - **Status code**: _301_
+ - **Preserve query string**: Enabled
2. Turn off your existing Page Rule and validate the behavior of the redirect you created.
@@ -915,6 +852,7 @@ You configured a Page Rule permanently redirecting `example.com/old-path` to `ex