<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>