Слишком много перенаправлений - GeoIP + htaccess на многопользовательском Wordpress - PullRequest
0 голосов
/ 02 октября 2018

Я использую мультисайт Wordpress и пытаюсь настроить перенаправления IP-адресов с помощью инструмента Apache GeoIP и файла .htaccess, чтобы посетители отправлялись на сайт соответствующей страны при посещении через мой адрес beta.mydomain.com.

При первом тестировании я просто получаю сообщение о том, что он застрял в цикле:

ERR_TOO_MANY_REDIRECTS

Вот мой существующий код (Примечание: GeoIPвключено в другом месте).

RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^GB$
RewriteRule ^(.*)$ https://uk.beta.mydomain.com/$1 [R=302,L]
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^DE$
RewriteRule ^(.*)$ https://de.beta.mydomain.com/$1 [R=302,L]
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^ES$
RewriteRule ^(.*)$ https://es.beta.mydomain.com/$1 [R=302,L]
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^US$
RewriteRule ^(.*)$ https://us.beta.mydomain.com/$1 [R=302,L]

# BEGIN WordPress

RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]


# END WordPress

Добавление этой строки вверху:

 RewriteCond %{HTTP_HOST} !^(uk|us|de|es)\.beta\.mydomain\.com$ [NC]

немного улучшает положение вещей - верхний теперь будет работать, остальные только после того, как вышеприведенные будут закомментированы.

Полагаю, что я упускаю что-то простое, но у меня очень ограниченное понимание этого!

...