2009-08-19 67 views
5

我发现this web site生成.htaccess来阻止某个国家的访问。如何只允许在国家内访问

问题在于我只允许在挪威境内访问。如果我使用这项服务,列表将会很长,因为我必须列出所有国家的IP地址。

有没有办法允许在国内访问,我的情况是挪威?

+1

我可能是错的(纠正我,如果我),但不会工作,如果你将交换这些值从生成.htaccess从命令允许,拒绝命令拒绝,允许,然后取代每个拒绝允许(允许所有IP在一个国家内),然后最后拒绝所有的IP? – 2009-08-19 13:03:56

+0

广告。从我看到的gbjbaanb的帖子,我非常接近真正的答案;)。 – 2009-08-19 13:04:56

回答

4

更改'拒绝'允许的所有事件,以及'允许'的所有事件都可以拒绝。然后将最后的'拒绝全部'条件移至列表的开头。

例如。

<Limit GET HEAD POST> 
order allow,deny 
deny from 41.205.32.0/19 
deny from .... 
allow from all 
</LIMIT> 

成为

<Limit GET HEAD POST> 
order deny,allow 
deny from all 
allow from 41.205.32.0/19 
allow from .... 
</LIMIT> 

有一些很好的tutorials about .htaccess

+0

你知道你是如何做到这一点的只是一个特定的页面? – mheavers 2011-03-31 11:54:20

+0

是的。 Google说要在.htaccess文件中使用块。 http://httpd.apache.org/docs/current/mod/core.html#files - 请注意,所有.htaccess指令都可以放在你的httpd.conf中(并且是首选) – gbjbaanb 2011-04-01 10:56:32

+0

@gbjbaanb此解决方案不起作用为了我。这不再有效吗? – 2016-12-04 17:01:13

0

有很多地理数据库供应商提供有关该主题的问题详细说明的解决方案。检查http://www.maxmind.com/app/mod_geoip为他们的数据库附带的apache模块,这可能是您的问题的完美契合。