We need our Magento web store to switch stores based on CF_IPCOUNTRY which is passed into the HTTP header by Cloudflare
The way we are setup is the store ID is added to the web url
For example:
domain.com/us-en
domain.com/ca-en
domain.com/eu-en
Either this should be done in .htaccess, or PHP code in the header.
In this case it is important that only the store is switched, and no js, css or image files.
So the htaccess file needs to be setup as follows.
If country is USA - send visitor to domain.com/us-en/* (append full url)
If country is X (we will need to provide a list of country names) send visitor to domain.com/eu-en
Else, send visitor to domain.com/ca-en
We should also have the ability to exclude an IP address from this so that we can test locally.
It should also be ignored by robots and spiders.
We also tried with PHP code in the header, but this did not work. Maybe there is a different way?
<?php
$country_code = $_SERVER ['HTTP_CF_IPCOUNTRY'];
if ($country_code=='US') {
$link = '//domain.com/us/';
}
else if ($country_code=='GB') {
$link = '//domain.com/eu/';
}
else if ($country_code=='DE') {
$link = '//domain.com/eu/';
}
else {
$link = '//domain.com/us/';
}
header('location:$link');
exit;
?>
Note that I will not be giving server access. I just need the code which I can upload myself. We also plan to edit ourselves when we need to add more countries to redirect.
I will pay a 50% bonus if this is solved today.
About the recuiterMember since Mar 14, 2020 Ovan Fathurrohm
from Quebec, Canada