Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >基于国家/地区的ip地址重定向

基于国家/地区的ip地址重定向
EN

Stack Overflow用户
提问于 2013-11-21 22:12:00
回答 2查看 1.8K关注 0票数 0

我不确定这是不是可以做到。

但我需要一种方法,以重定向访问者的国家IP地址为基础。

在别人提到它之前,

是的,我知道Geoip,但我的主机没有它,而且我也没有shell访问权限。

所以我在寻找另一种选择。

这就是问题所在

我的网站一般是供个人使用的,我被垃圾邮件发送者和不想要的爬虫加上

人们寻找的文件,我甚至没有have.these来自世界各地的访问者。

所以我需要一种有效的方法来做这件事。

现在,我只是用一种混乱的方式使用正则表达式来重定向其中的一小部分。

就像这样。

代码语言:javascript
运行
AI代码解释
复制
#china ips-
#
RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^(49\.(4|51|52|64|239)|54\.222) [OR]
RewriteCond %{REMOTE_ADDR} ^(91\.234|134\.196|159\.226|161\.207|166\.111) [OR]
RewriteCond %{REMOTE_ADDR} ^(168\.160|192\.(124|188)|193\.0)
RewriteRule !^folder/country\.html http://www.website.com/folder/country.html [L,NC,R]

虽然这是可行的,但它只将列出的regex ip地址重定向到我选择的页面。

它适用于20+ ip地址,但如果您有超过1000+ ip地址,则需要重定向,

(我确实是这么做的)你的htaccess文件往往会变得非常大,而且杂乱无章。

我宁愿把ip地址放在一个文本文件中,让htaccess在cn.txt中查找它,

或者china.txt然后以某种方式将它在该txt文件中找到的任何ip地址重定向到

http://www.website.com/folder/country.html

我知道,如果我的主机有geoip,这可能会让这件事变得容易得多。

我忘了提一下,我的网站大约85%是html,虽然我有一个论坛画廊和常见问题解答是php,

我通常主要使用html代码。谢谢

EN

回答 2

Stack Overflow用户

发布于 2013-11-21 22:59:24

您需要将以下PHP脚本添加到访问者可以打开的所有PHP脚本中。许多PHP应用程序都有一个引导脚本,您可以在其中放置这些代码。但是,如果不是您的情况,则htaccess是更好的选择。

index.php脚本:

代码语言:javascript
运行
AI代码解释
复制
<?php
// Get user's IP address
$remoteAddr = $_SERVER['REMOTE_ADDR'];
// Load a list of regular expressions that redirect the user to 'http://www.website.com/folder/country.html'
$regexes = explode("\n", file_get_contents(dirname(__FILE__) . "/cn.txt"));

foreach ($regexes as $regex) {

    if (preg_match('/^' . $regex . '$/', $remoteAddr)) {             
         header("Location: http://www.website.com/folder/country.html");
         exit;
    }
}

Cn.txt的内容:

代码语言:javascript
运行
AI代码解释
复制
49\.(4|51|52|64|239)|54\.222
91\.234|134\.196|159\.226|161\.207|166\.111
and so on

注意:您也可以通过脚本(以您选择的语言)生成您的htaccess。我的意思是,你可以有一个正则表达式的列表,并在每次修改该列表时从该列表生成htaccess。

票数 0
EN

Stack Overflow用户

发布于 2014-03-14 12:31:11

有一些重定向解决方案不需要任何代码或服务器中的任何数据库。其中之一就是www.redirectbycountry.com

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20133040

复制
相关文章
IE错误汇总
出错背景:vue-cli结合webpack搭建的项目,在IE11运行报错,报错信息会指出错误出处,比如:“app.js (5164,1)”。已安装es6转换es5的依赖包,webpack-dev-server版本换成2.6.1或者2.11.2还是同样的错误。
城市中的游牧民族
2019/02/21
3.1K0
red,不红不专,但性感
red lang 前两天发布 0.6.3 了。osx GUI 终于得到了支持。 这事,连 hacker news 上都没掀出多少波澜。帖子在近二百多顶后,就渐渐沉底,不知去向。 我第一次听说 red 大概是 2015 年。当时在 medium 上有一篇采访 Nenad Rakocevic 的帖子,谈了 red 的思想,red 对 rebol 的传承,以及其雄心勃勃的发展计划。那篇文章里, red 1.0 预计在 1 年左右,也就是 2016 年面世,可惜现在都 2017 了,0.6.3 才姗姗来迟。 为什么
tyrchen
2018/03/29
1.3K0
red,不红不专,但性感
企业数字化营销,这个工作不“性感”但很重要
嘉宾|宋星 编辑|高玉娴 当我们购买某件商品,脑中闪现的不再是耳熟能详的电视广告台词,而是在社交平台上某位博主的疯狂“种草”;当我们进入某个电商平台,不再信奉卖家的一面之词,而是先把买家评价通览一遍——种种现象表明,消费者正在从商业信息的被动接收者,变成商业信息的主动创造者、承载者和传播者。 这意味着,海量的商业信息将铺天盖地而来,消费者的注意力经历前所未有的分散化、粉末化,忠诚度将持续降低。而企业营销模式,则不可避免地迎来巨大挑战。 为了破此局,越来越多的企业开始进行数字营销运营,通过打造私域,把分
深度学习与Python
2023/03/29
3570
企业数字化营销,这个工作不“性感”但很重要
绚丽的javascript拾色器(不兼容IE8及以下)
一切尽在注释中 html节点 <div id="colorpicker" style="display:inline-block;"> <input class="color-value" type="text" value="#ffffff" /> <div class="canvas-box" style="display:none;padding:10px;border:1px solid #ccc;"> <canvas id="canvas" style="cursor:crosshair;
lonelydawn
2018/02/09
1.5K0
绚丽的javascript拾色器(不兼容IE8及以下)
没有Eureka,但多了Nacos
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您实现动态服务发现、服务配置管理、服务及流量管理。
battcn
2018/08/03
1.6K0
没有Eureka,但多了Nacos
hibernate persist update 方法没有正常工作(不保存数据,不更新数据)
在工程中通过spring aop的方式配置事务,使用hibernate做持久化。在代码实现中使用hibernate persit()方法插入数据到数据库,使用hibernate update()方法更新数据。问题是执行这两个方法没有报错,但是也没有插入数据或者更新数据。
用户3148308
2018/09/13
2.4K0
hibernate persist update 方法没有正常工作(不保存数据,不更新数据)
一行代码解决IE6,IE7,IE8不兼容问题
最近在整理网页mate标签,想着把常用的mate标签记录一下,有的可以解决IE不兼容的问题。现在电脑普遍来说最低版本的IE也应该是IE8了,但是不排除某些落后的电脑机器依然是IE6.7,所以整理下相关资料以留备用。
李洋博客
2021/06/16
1.4K0
py+selenium+IE10【IE已停止工作】【已解决】
     手工跑的时候,IE挂,提示“Internet Explorer 已经为了帮助保护您的计算机而关闭此网页”。
逆向小白
2019/03/06
8120
py+selenium+IE10【IE已停止工作】【已解决】
IE下尚未实现错误的原因
     IE下JS执行,提示“尚未实现”的错误,在firebug中没有任何错误提示。打开IE就遇到该死的“尚未实现错误”,根据IE中提示的位置找过去也没有发现任何错误,看来IE的报错定位也不太准确。
大江小浪
2018/07/25
1.1K0
Windows凭据不工作
如果不是敲错IP、用户名、密码,报凭据不工作,一般情况下执行这几句命令后重启远程服务就正常了
Windows技术交流
2021/06/15
6.3K0
一行代码解决IE6,IE7,IE8不兼容问题
最近在整理网页mate标签,想着把常用的mate标签记录一下,有的可以解决IE不兼容的问题。现在电脑普遍来说最低版本的IE也应该是IE8了,但是不排除某些落后的电脑机器依然是IE6.7,所以整理下相关资料以留备用。
雾海梦曦
2022/11/04
1.2K0
一行代码解决IE6,IE7,IE8不兼容问题
MySQL没有启动成功,没有报告任何错误
问题描述: 在使用"net start mysqld" 的时候出现: MySQL 服务正在启动… MySQL 服务无法启动。
vincentbbli
2021/08/18
3.1K0
javascript错误类型
作为一个程序员,需要的不仅仅是技术,更是需要在遇到错误的时候对错误的处理能力。就前端而言,技术一直在更新,但是JavaScript中的错误也就是那么几个。掌握不同的报错信息会让你的实际开发事半功倍。
踏浪
2019/07/31
8270
解决老版本IE不兼容rgba的问题
rgba 的含义,r 代表 red ,g 代表 green ,b 代表 blue ,红绿蓝是三原色。所有颜色都可以由这三种颜色拼合而成。a 代表透明度。
德顺
2019/11/13
1.8K0
javaScript创建无边框iframe兼容ie
<script> var m_iframe=document.createElement("iframe"); m_iframe.scrolling="no"; m_iframe.setAttribute("frameborder", "0", 0);  //m_iframe.frameborder="0";ie7无效 m_iframe.src="http://www.cnblogs.com/cssfirefly"; document.body.appendChild(m_iframe); </script
deepcc
2018/05/16
1.6K0
JavaScript 错误异常
JavaScript 错误异常 错误异常语句 try 语句测试代码块中的错误 catch 语句处理错误 throw 语句允许自定义错误 finally 语句在错误异常语句后,必须执行的代码块 try { adddlert("Hello") ; } catch (err) { document.getElementById("demo").innerHTML = err.message ; } // 结果 : adddlert is not defined JavaScript 将 addd
Mirror王宇阳
2020/11/12
4970
SignalR 在IE中无法工作 - Internet Explorer
运行基于SignalR的超线程上载器的代码,发现SignalR 在IE 9上居然没法工作了,提示如下: 提示很明显,需要json2.js的支持。 使用Nuget 搜索json2.js 并安装: 在引用
张善友
2018/01/29
3.5K0
SignalR 在IE中无法工作 - Internet Explorer
select2 没有 allowClear 不生效
select2 没有 allowClear 不生效 添加: placeholder: "请选择", placeholderOption: "first", $("[name=deptNo]").htm
一个会写诗的程序员
2018/08/17
2K0
select2 没有 allowClear 不生效
ie6下a标签的onclick不执行问题
代码: <a href="javascript:void(0)" onclick="loadiframe()">点我咯</a> <script> var loadiframe = function(){ alert('弹不出来!!!') } </script> 解决方案: 1、修改为href="##",为什么是两个#,因为一个#会往上跳; 2、修改为href="javascript: void loadiframe()"; 3、把href 去掉; 4、onclick="lo
deepcc
2018/05/16
1.4K0
Sqoop导入Oracle所有表,没有报错,但失败
1、导入到HDFS [root@node1 sqoop-1.4.7]# bin/sqoop-import-all-tables --connect jdbc:oracle:thin:@node1:1521:ORA --username TEST --password test --as-textfile --warehouse-dir /user/root Warning: /opt/sqoop-1.4.7/bin/../../hbase does not exist! HBase imports will
程裕强
2022/05/06
1.6K0

相似问题

WindowsFormHost Paint事件未触发

12

事件持续触发

30

事件持续触发

10

TreeView事件持续触发

10

单击事件持续触发

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档