Я хочу написать простое правило перезаписи, в котором я в основном пытаюсь сказать следующее
Если запрошенный URI - text / index.html (или test /), а организация GeoIP равна «My GeoIP Value», тогда server test / index2.html
Я пробовал несколько директив, но на самом деле ничего не работает, как я ожидал.
Текущая установка у меня
map $geoip_org $redirectMe {
default 0;
'My GeoIP Org Value' 1;
}
server{
....
location /test {
try_files $uri index.html;
expires -1;
if ( $redirectMe ) {
rewrite ^/test/index.html$ /test/test2.html break;
}
}
....
}
Я обнаружил, что он либо ничего не перенаправляет, либо перенаправляет все время независимо от моей IP-организации, так как если бы он кэшировал перенаправление, которое, как я думал, истекает -1, разобралось бы.
Я также заметил, что получаю HTTP 304 для запросов независимо от того, перенаправлены они или нет.
У кого-нибудь есть указатели? Я думал, что это будет просто. Я также пытался не использовать карту и помещать сравнение внутри местоположения, но это не сработало, и использование карты вне сервера позволило бы мне позже изменить логику.
Обновить Ответ заключается в том, что он действительно работал, и это просто кеш, который не обновлялся, когда я запускал перезагрузку службы nginx.
Решением было использовать принудительную перезагрузку службы nginx (или перезапуск, хотя это перебор), и он работал бы
Ответ заключается в том, что он действительно работал, и это просто кеш, который не обновлялся, когда я запускал перезагрузку службы nginx.
Решением было использовать принудительную перезагрузку службы nginx (или перезапуск, хотя это перебор), и это сработало.