<div dir="ltr"><div class="gmail_extra"><div><div style><font face="arial, sans-serif">Попробовал смапить аргументы в $cache_key - не получилось, похоже map не умеет в качестве результата использовать более одной переменной.</font></div>
<div style><br></div><div style><font face="arial, sans-serif">Как вариант перенаправлять запросы в именованный location по мапу:</font></div><div style><font face="arial, sans-serif"><br></font></div><div style><font face="arial, sans-serif"><div>
        map $arg_main_page$arg_q $alternate_cache {</div><div>                nocachedajaxsavelocation 1;</div><div>                default 0;</div><div>        }</div><div><br></div><div style>в данном случае положения аргументов могут менятся на радость ботам - результат будет тот же.</div>
<div style>И:</div><div style><br></div><div style>location / {</div><div style>    ...</div><div style>    error_page 418 = @alternate_cache;</div><div style><br></div><div style>    if ($alternate_cache) {</div><div style>
        return 418;</div><div style>    }</div></font><font face="arial, sans-serif"><div style>    ...</div><div style>}</div></font></div><div><br></div></div>location @alternate_cache {</div><div class="gmail_extra" style>
    proxy_cache_key ...;</div><div class="gmail_extra">}<br><br>Также, рекомендую, по возможности, сгруппировать if-ы в map-ы. Благо они теперь и регулярные выражения и переменные в ключе и результате умеют.<br><br clear="all">

<div><br></div>-- <br><div dir="ltr">Best Regards,<br><div>Vadim Lazovskiy</div></div>
</div></div>