关于使用 .htaccess 封锁一个国家
about blocking a country by using .htaccess
试过很多次了,感觉很绝望。
我之前在 Apache 2.2 上已经成功地做到了这一点。
现在我的环境是 Apache/2.4.18 (Ubuntu) Server
我去https://www.ip2location.com/blockvisitorsbycountry.aspx生成代码
- select ipv4
- select中国
- select "Apache 2.4 .htaccess deny"
然后将代码添加到.htaccess
的底部。
但是结果是无论是否使用VPN都无法访问该网站
我在中国。
后来,我尝试select另一个国家,比如日本,生成新的拦截代码。
但是,将代码添加到 .htaccess
后,结果是一样的。
我也无法访问该网站,即使被阻止的国家是日本,我在中国。
我对代码有疑问,我应该怎么做才能获得阻止国家代码的权利?
部分生成代码:
<RequireAll>
Require all granted
Require not ip 1.0.1.0/24
Require not ip 1.0.2.0/23
Require not ip 1.0.8.0/21
Require not ip 1.0.32.0/19
Require not ip 1.1.0.0/24
Require not ip 1.1.2.0/23
Require not ip 1.1.4.0/22
:
现在,我已经解决了这个问题
首先,
https://www.ip2location.com/blockvisitorsbycountry.aspx 生成的代码 100% 正确!
无论是否使用VPN都无法访问网站的原因是我没有在yourdomain.conf中添加以下代码使https(ssl)url也支持rewrite。
<VirtualHost *:443>
.......
<Directory "/var/www/html/yourdomainname/public_html">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
试过很多次了,感觉很绝望。 我之前在 Apache 2.2 上已经成功地做到了这一点。 现在我的环境是 Apache/2.4.18 (Ubuntu) Server
我去https://www.ip2location.com/blockvisitorsbycountry.aspx生成代码
- select ipv4
- select中国
- select "Apache 2.4 .htaccess deny"
然后将代码添加到.htaccess
的底部。
但是结果是无论是否使用VPN都无法访问该网站
我在中国。
后来,我尝试select另一个国家,比如日本,生成新的拦截代码。
但是,将代码添加到 .htaccess
后,结果是一样的。
我也无法访问该网站,即使被阻止的国家是日本,我在中国。
我对代码有疑问,我应该怎么做才能获得阻止国家代码的权利?
部分生成代码:
<RequireAll>
Require all granted
Require not ip 1.0.1.0/24
Require not ip 1.0.2.0/23
Require not ip 1.0.8.0/21
Require not ip 1.0.32.0/19
Require not ip 1.1.0.0/24
Require not ip 1.1.2.0/23
Require not ip 1.1.4.0/22
:
现在,我已经解决了这个问题
首先, https://www.ip2location.com/blockvisitorsbycountry.aspx 生成的代码 100% 正确!
无论是否使用VPN都无法访问网站的原因是我没有在yourdomain.conf中添加以下代码使https(ssl)url也支持rewrite。
<VirtualHost *:443>
.......
<Directory "/var/www/html/yourdomainname/public_html">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>