Exclude Countries

The firewall rule, minus the URI Path check will block unwanted countries from accessing anything in that zone (domain). The URI path really isn’t necessary in the situation you described.

Not from that domain, as it’s completely blocked. I can only think of a pretty convoluted approach:

  1. Add a Transform Rule for a URL Rewrite: IF in the country list, then Rewrite the Path (static) to something unique.
  2. Add a Page Rule where IF it matches that path, then Forwarding URL to some other place.

3 Likes

Just to be sure. I can set it this way?

Send people from country X who visit any page of domain A to a specific page on domain B?

That’s doable with what you suggest above?

Thanks,
Timo

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.

Hey! I was asking this before, but my threat is already closed…

I was asking how I can block specific countries. I learned that I can do this in the firewall settings.

User “sdayman” told me that I can use the “transformation rule” to redirect people from the countries I want to block and have a message there for them, by leading them to a different domain, but I can’t find this setting anywhere in that list of rules…

Thanks,
Timo

Hi Timo… I think I have seen you somewhere already :eyes: Don’t know where… any chances you are german?

@sdayman is correct. I can recommend the tutorial from @michael: Redirect from a page to anotherpage for specific country for free - #4 by michael

Have a look at it and report back.

Additionally to that, there are also other options:

  1. Workers: Using Cloudflare Workers to redirect users based on country
  2. App: Cloudflare App geo-redirect

EDIT:

Now I know, it was the good old Digitale Eliteboard :wink:

1 Like

Hey Martin, (I guess) :smiley:

yes I am German and I am a member there - so chances are that we met there once :slight_smile:

Thanks for the info. I’ll take a closer look tomorrow.

Tschüss,
Timo

Hey again!

I created the rule now, and I redirect to a different page, but I still can see that page. Any idea why?

Thanks,
Timo

Probably because the redirect does not work or the rule does not match the URL you are testing against.
If you could provide us with the URL and the PageRule/TransformRule we can look into that.

Ok. Here’s my setup:

Thanks :slight_smile:

Please change the marked area:

to:
sorry-content-is-not-available/
(without the leading https://timodee.com/)

EDIT:

And please first turn on the proxy :orange: in your DNS section on your entry for timodee.com since it currently is on :grey:. Otherwise you can not use Cloudflare features on this DNS entry.

2 Likes

ok. Thanks,

If I change that, how will cloudflare know that it should redirect to timodee.com? I’m blocking countries for a different domain…

Also, what is the difference between those two DNS settings? Will everything work as usual after the change?

Just to clarify: I’m blocking countries for all sites of “domainA” and I want to redirect to one specific site of “domainB”. Both domains are managed with cloudflare…

Then you:

  1. must be the owner of the other domain
  2. implement the transform rules on the other domains Cloudflare setting, while the DNS entry you want to perform this on must be set to :orange:

For basic understanding on what a proxy does and what the :orange: status does mean I would recommend the docs.

Then please do it like this:

domainA.tld:

  1. set it to :orange:
  2. set up TransformRule to append sorry-content-is-not-available/
  3. set up PageRule to redirect domainA.tld/sorry-content-is-not-available/ to https://domainB.tld

domainB.tld:

nothing to do here since you redirect to this domain, not from this domain.

And this also works if I block the whole domainA?

I dont know why you would want to block the whole domain. I thought it’s about blocking specific countries and redirect them.

But to find out, please just try it out and report back.

I just thought the same thing :slight_smile:

Maybe it is a good idea to leave everything on one domain and only restrict access to the main pages that get the traffic… Then I can show a message for certain countries within the domain and not redirect to another domain…

With “Blocking” I meant to exclude some countries…

Here is my new setting:

But when I open my main domain I still can see it. It is not redirecting to this page:
https://9to5jailbreak.com/sorry-content-is-not-available