Правило htaccess для добавления параметра страны в URL с геолокацией Cloudflare - PullRequest
0 голосов
/ 30 апреля 2020

Я широко использовал stackoverflow во время своих попыток кодирования, и спасибо всем за предоставление такого источника знаний.

Я хотел бы реализовать правило mod_rewrite / htaccess, которое добавит страну посетителя в качестве параметра на любой URL, , если , страна отличается от AT. Геолокация осуществляется через Cloudflare.

Как: Посетитель из посещений CH https://www.example.com/blabla => https://www.example.com/blabla? Страна = CH

Я не слишком разбираюсь в переписывании htaccess и в итоге получаю бесконечную ошибку l oop / server. Я считаю, что это правильная RewriteRule часть, которая мне не хватает. Вот мой код:

SetEnvIf CF-IPCountry "(.*)$" Country=$1
RewriteCond %{ENV:Country} !AT
RewriteRule ^(.*)$ $1?country=%{ENV:Country} [R,L,QSA]

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 04 мая 2020

Спасибо, что указали мне правильное направление. Для тех, кто сталкивался с той же проблемой, решение было:

SetEnvIf CF-IPCountry "(.*)$" Country=$1
RewriteCond %{ENV:Country} !AT
RewriteCond %{QUERY_STRING} !country
RewriteRule ^(.*)$ $1?country=int [R=308,L,QSA]

Я не нашел способа добавить код страны конкретный c, так как не мог сослаться на ENV: Страна в "RewriteRule", но "int" для всех не AT хорошо работает для меня.

...