Skip to content

General

Why is a page rule not working?

The most common reason that a page rule is not working — such as URL forwarding — is that the page rule you created is on a record that is not proxied by Cloudflare in your DNS settings.

Consider an example where you have a page rule that redirects a subdomain (subdomain.yoursitename.com) back to your apex domain (yoursitename.com). If you do not have that record proxied in your DNS settings for the subdomain record, Cloudflare’s proxy is not running over the record and a page rule will not work because it is going direct to your server.

Error 500 (Internal server error)

Root cause

This may be due to a configuration issue on a page rule. When creating a page rule that uses two wildcards, like a Forwarding URL rule, it is possible to create a rule that mentions the second wildcard with the $2 placeholder. Refer to the example below:

Example Page Rule configuration with two wildcards. The forwarding URL contains a $2 placeholder, which will be replaced with the content matched by the second

When updating the same rule, you can remove one of the wildcard in the If the URL matches field and save it. Refer to the example below:

Incorrect Page Rule configuration with a single wildcard, but still using the $2 placeholder in the forwarding URL. This configuration causes

If you do so, the $2 placeholder reference a wildcard that does not exist anymore, and as such, an Error 500 (Internal server error) is thrown when a URL triggers the page rule.

Resolution

Update the page rule and remove the reference $2 to the second wildcard. If there is only one wildcard, then you can only use $1.