Сервер - Apache 2.4; Модули - mod_geoip, mod_rewrite; Сайт WordPress.

Я установил mod_geoip и теперь пытаюсь настроить перенаправление .htaccess со всех страниц сайта https://example.com/... на одну https://example.com/restricted/ для пользователей из Монако.

Первое правило, которое я пробую:

    RewriteEngine On
    GeoIPEnable On
    RewriteCond% {ENV: GEOIP_COUNTRY_CODE} ^ (MC) $
    RewriteRule ^ (. *) $ Https://example.com/restricted/$1 [L]

В результате граждане Монако получают ошибку: ERR_TOO_MANY_REDIRECTS. Выглядит так:

www.example.com:443 40.108.122.138 - - [29/Jan/2019:21:41:16 +0000] "GET / HTTP/1.1" 302 3942 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KH$
www.example.com:443 40.108.122.138 - - [29/Jan/2019:21:41:16 +0000] "GET /restricted/ HTTP/1.1" 302 664 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.$
www.example.com:443 40.108.122.138 - - [29/Jan/2019:21:41:16 +0000] "GET /restricted/restricted/ HTTP/1.1" 302 678 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebK$
www.example.com:443 40.108.122.138 - - [29/Jan/2019:21:41:16 +0000] "GET /restricted/restricted/restricted/ HTTP/1.1" 302 692 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) Ap$
www.example.com:443 40.108.122.138 - - [29/Jan/2019:21:41:16 +0000] "GET /restricted/restricted/restricted/restricted/ HTTP/1.1" 302 706 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; $
www.example.com:443 40.108.122.138 - - [29/Jan/2019:21:41:17 +0000] "GET /restricted/restricted/restricted/restricted/restricted/ HTTP/1.1" 302 720 "-" "Mozilla/5.0 (Windows NT 6.1; $
www.example.com:443 40.108.122.138 - - [29/Jan/2019:21:41:17 +0000] "GET /restricted/restricted/restricted/restricted/restricted/restricted/ HTTP/1.1" 302 734 "-" "Mozilla/5.0 (Windows N$
www.example.com:443 40.108.122.138 - - [29/Jan/2019:21:41:17 +0000] "GET /restricted/restricted/restricted/restricted/restricted/restricted/restricted/ HTTP/1.1" 302 748 "-" "Mozilla/5.0 (Wi$
www.example.com:443 40.108.122.138 - - [29/Jan/2019:21:41:17 +0000] "GET /restricted/restricted/restricted/restricted/restricted/restricted/restricted/restricted/ HTTP/1.1" 

и т.п.

Второе правило, которое я пробую:

RewriteEngine On
GeoIPEnable On
RewriteCond %{REQUEST_URI} ^/$ [NC]
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} (MC) [NC]
RewriteRule .* https://example.com/restricted/ [R=302,L]

В результате граждане Монако: перейдите на example.com -> перенаправить на https://example.com/restricted/ - все работает; перейти на example.com/about/ -> перенаправление на https://example.com/restricted/ - не работает.

Помогите, пожалуйста, в чем моя ошибка ?! Как настроить перенаправление со всех страниц на одну для пользователей из Монако?

Примечание: .htaccess также содержит:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Также sites-enabled/example.conf содержит:

<VirtualHost *:80>
        ServerName www.example.com
        ServerAlias example.com
        ServerAdmin support@example.com
        RewriteEngine On
        RewriteCond %{HTTPS} off [OR]
        RewriteCond %{HTTP_HOST} ^www\. [NC]
        RewriteRule ^ https://example.com%{REQUEST_URI} [L,NE,R=301]
</VirtualHost>
<VirtualHost *:443>
        ServerName www.example.com
        ServerAlias example.com
        ServerAdmin support@example.com
        RewriteEngine On
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>

Спасибо!

0