if + set лучше не использовать, скорее всего вы хотите иного поведения.<div><br></div><div>В вашем случае, правильно, делать capture на уровне server_name;</div><div><br></div><div><div class="gmail_quote">2010/8/30 nightflash <span dir="ltr">&lt;<a href="mailto:nginx-forum@nginx.us">nginx-forum@nginx.us</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Есть проблема следующего характера:<br>
<br>
location /mmm/ {<br>
        default_type text/javascript;<br>
        charset utf-8;<br>
<br>
        if ($host ~*  &quot;site([0-9]+)(?:\.)&quot;) {<br>
            set  $site_id  $1;<br>
        }<br>
<br>
        echo $host$site_id;<br>
<br>
    }<br>
<br>
Если if отрабатывает то все сваливается<br>
с 502 ошибкой. Т.е. если host будет вида<br>
<a href="http://site10.host.ru" target="_blank">site10.host.ru</a> то вываливается 502 ошибка. Если<br>
убрать echo все работает. Если запросить<br>
просто <a href="http://site.host.ru" target="_blank">site.host.ru</a> все тоже работает. Но<br>
вместе эта конструкция работать не<br>
хочет. Есть мнения, почему?<br>
<br>
[b]nginx version: nginx/0.8.49[/b]<br>
<br>
Posted at Nginx Forum: <a href="http://forum.nginx.org/read.php?21,125065,125065#msg-125065" target="_blank">http://forum.nginx.org/read.php?21,125065,125065#msg-125065</a><br>
<br>
<br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
</blockquote></div><br><br clear="all"><br>-- <br><div>wbr, Kirill</div><br>
</div>