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"><<a href="mailto:nginx-forum@nginx.us">nginx-forum@nginx.us</a>></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 ~* "site([0-9]+)(?:\.)") {<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>