1. GeoIP в принципе не самый надёжный способ.
2. Забудьте уже про .htaccess. И читайте документацию.
а чем плох .htaccess ?
сейчас в нем прописал все сети из РФ, пока так работает, но хочется элегантности
Пользователь добавил сообщение 13 Мая 2022, 14:23:57:
1. GeoIP в принципе не самый надёжный способ.
2. Забудьте уже про .htaccess. И читайте документацию.
Попробовал такой вариант:
/etc/apache2/conf-enabled/ttm.conf
Alias /ttm /usr/share/www
<Directory /usr/share/www>
Options -Indexes +FollowSymLinks
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
</IfModule>
<IfModule mod_dir.c>
DirectoryIndex index.php
</IfModule>
<IfModule mod_geoip.c>
GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
GeoIPDBFile /usr/share/GeoIP/GeoIPv6.dat
SetEnvIf GEOIP_COUNTRY_CODE RU AllowCountry
Deny from all
Allow from env=AllowCountry
</IfModule>
</Directory>
apachectl configtest
AH00526: Syntax error on line 33 of /etc/apache2/conf-enabled/ttm.conf:
GeoIPDBFile not allowed in <Directory> context
Action 'configtest' failed.
The Apache error log may have more information.
Стоит только за комментировать GeoIPDBFile и ошибки нет.
Пользователь добавил сообщение 13 Мая 2022, 15:01:38:
А так же попробовал так в файле .htaccess
GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
GeoIPDBFile /usr/share/GeoIP/GeoIPv6.dat
SetEnvIf GEOIP_COUNTRY_CODE RU AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE BY AllowCountry
<Directory /var/www/html>
Deny from all
</Directory>
<Directory /var/www/html>
Allow from env=AllowCountry
</Directory>
вызывает ошибку 500
Пользователь добавил сообщение 13 Мая 2022, 16:11:28:
Согласно всем изменениям в 2.4
GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
GeoIPDBFile /usr/share/GeoIP/GeoIPv6.dat
SetEnvIf GEOIP_COUNTRY_CODE RU AllowCountry
<RequireAny>
<RequireAll>
Require all denied
Require env AllowCountry
Require all granted
</RequireAll>
</RequireAny>
в логах - /var/www/html/.htaccess: GeoIPDBFile not allowed here