Если не ошибаюсь,<br>set $path $host;<br>if ($host ~ www\.(.*)) { set $path $1; }<br>Но решение с map будет работать быстрее и лучше.<br><br><div class="gmail_quote">30 октября 2008 г. 17:01 пользователь Yaroslav Onischenko <span dir="ltr"><<a href="mailto:yaroslav2@effect.com.ua">yaroslav2@effect.com.ua</a>></span> написал:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
Для map я увидел только такое применение<br>
<br>
map $http_host $site {<br>
hostnames;<br>
<br>
default <a href="http://example.com" target="_blank">example.com</a>;<br>
<a href="http://www.example.com" target="_blank">www.example.com</a> <a href="http://example.com" target="_blank">example.com</a>;<br>
}<br>
<br>
<br>
а потом использовать полученную переменную<br>
root /usr/www/$site/htdocs/<br>
<br>
<br>
но такое решение пригодно, если небольшое количество хостов, а если их<br>
несколько десятков, то для каждого писать свой мап?<br>
Или есть общее решение, но я его не вижу?<br>
<br>
------<br>
С уважением,<br>
Ярослав Онищенко<br>
ООО "Компания Эффект"<br>
Email: <a href="mailto:yaroslav2@effect.com.ua">yaroslav2@effect.com.ua</a><br>
<div><div></div><div class="Wj3C7c">----- Original Message -----<br>
From: "Valery Kholodkov" <<a href="mailto:valery%2Bnginxru@grid.net.ru">valery+nginxru@grid.net.ru</a>><br>
To: <<a href="mailto:nginx-ru@sysoev.ru">nginx-ru@sysoev.ru</a>><br>
Sent: Thursday, October 30, 2008 5:25 PM<br>
Subject: Re: Определение имени хоста<br>
<br>
<br>
><br>
> > Люди добрые помогите пожалуйста<br>
> > новичку.<br>
> > Есть такое выражение для перехвата<br>
> > статических объектов фронтендом.<br>
> ><br>
> > location ~*<br>
> ><br>
^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|ta<br>
> > r|mid|midi|wav|bmp|rtf|js)$ {<br>
> > root /usr/www/$host/htdocs;<br>
> > }<br>
> ><br>
> > Все работает если на сайты заходить без<br>
> > www, поскольку статика тогда ищется<br>
> > в нужной директории, если же имя хоста<br>
> > начинается с www (<a href="http://www.example.com" target="_blank">www.example.com</a>),<br>
> > тогда возникают проблемы с загрузкой<br>
> > изображений и др., поскольку директории<br>
> > (/usr/www/<a href="http://www.example.com/htdocs" target="_blank">www.example.com/htdocs</a>) не существует.<br>
> ><br>
> > Каким образом можно извлечь имя хоста,<br>
> > не зависимо от того, как оно<br>
> > указывается в адресной строке браузера.<br>
> > Проблему нужно решить средствами<br>
> > nginx!!!<br>
><br>
</div></div>> Можно использовать map:<br>
><br>
> <a href="http://www.sysoev.ru/nginx/docs/http/ngx_http_map_module.html" target="_blank">http://www.sysoev.ru/nginx/docs/http/ngx_http_map_module.html</a><br>
><br>
> --<br>
> Best regards,<br>
> Valery Kholodkov<br>
><br>
><br>
<br>
</blockquote></div><br><br clear="all"><br>-- <br>С уважением, Борис Долгов.<br>icq 77556665<br>e-mail <a href="mailto:boris@dolgov.name">boris@dolgov.name</a><br>