我想使用 .htaccess 来阻止某个国家/地区,并且如果任何其他国家/地区将访问者重定向到另一个网址

问题描述 投票:0回答:1

我有这个代码来阻止来自墨西哥的人访问我的域名,但我想知道是否可以添加另一行,将他们重定向到另一个 URL(电子邮件营销页面上的登陆页面)。 那可能吗?我感谢您提供的任何和所有帮助和详细信息。

总而言之。我想阻止来自墨西哥的人访问主域 (maindomain.com),但如果他们在其他地方,我想将他们重定向到另一个 URL (externaldomain.com)。

这是我的 .htaccess 上的代码(我删除了一些国家 IP 列表以进行扩展)

# -------------------------------------------------------
# Free IP2Location Firewall List by Country
# Source: https://www.ip2location.com/free/visitor-blocker
# Last Generated: 04 Jun 2024 00:54:33 GMT



deny from 217.8.116.0/24
deny from 217.76.242.0/23
deny from 223.27.114.0/24
deny from 223.119.251.0/24

order allow,deny
allow from all

我刚刚编辑了 htaccess 文件来屏蔽该国家/地区,我想知道是否可以重定向它们。我在 VPS 上的 cPanel 中托管域。我们需要阻止域名的原因是因为我们在美国开展电子邮件活动,并且这些优惠是美国独有的,但我们使用的服务 (ActiveCampaign) 不提供地理阻止,我们需要对我们的邮件进行数据分析活动在他们提供的自定义域中生成。但我们有一个想要使用的主域。只是无法从墨西哥访问它。

.htaccess http-redirect geofencing
1个回答
0
投票

试试这个:

<script>
var endpoint = 'https://apip.cc/json';
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        var response = JSON.parse(this.responseText);
        if(response.status !== 'success') {
            console.log('Query failed: ' + response.message);
            return;
        }
        // Redirect based on the country code
        switch(response.CountryCode) {
            case "MX":
                window.location.replace("https://google.mx/");
                break;
            default:
                window.location.replace("https://google.com/");
        }
    }
};
xhr.open('GET', endpoint, true);
xhr.send();
</script>

根据需要编辑网址。

© www.soinside.com 2019 - 2024. All rights reserved.