Я использую мультисайт 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]
немного улучшает положение вещей - верхний теперь будет работать, остальные только после того, как вышеприведенные будут закомментированы.
Полагаю, что я упускаю что-то простое, но у меня очень ограниченное понимание этого!