Re: Определение имени хоста

Yaroslav Onischenko yaroslav2 at effect.com.ua
Fri Oct 31 10:56:25 MSK 2008


Спасибо большое, это решение мне подходит.

------
С уважением,
Ярослав Онищенко
ООО "Компания Эффект"
Email: yaroslav2 at effect.com.ua
  ----- Original Message ----- 
  From: Борис Долгов 
  To: nginx-ru at sysoev.ru 
  Sent: Thursday, October 30, 2008 7:01 PM
  Subject: Re: Определение имени хоста


  Если не ошибаюсь,
  set $path $host;
  if ($host ~ www\.(.*)) { set $path $1; }
  Но решение с map будет работать быстрее и лучше.


  30 октября 2008 г. 17:01 пользователь Yaroslav Onischenko <yaroslav2 at effect.com.ua> написал:


    Для map я увидел только такое применение

       map  $http_host  $site  {
           hostnames;

           default          example.com;
           www.example.com      example.com;
       }


    а потом использовать полученную переменную
     root   /usr/www/$site/htdocs/


    но такое решение пригодно, если небольшое количество хостов, а если их
    несколько десятков, то для каждого писать свой мап?
    Или есть общее решение, но я его не вижу?

    ------
    С уважением,
    Ярослав Онищенко
    ООО "Компания Эффект"
    Email: yaroslav2 at effect.com.ua

    ----- Original Message -----
    From: "Valery Kholodkov" <valery+nginxru at grid.net.ru>
    To: <nginx-ru at sysoev.ru>
    Sent: Thursday, October 30, 2008 5:25 PM
    Subject: Re: Определение имени хоста


    >
    > > Люди добрые помогите пожалуйста
    > > новичку.
    > > Есть такое выражение для перехвата
    > > статических объектов фронтендом.
    > >
    > > location ~*
    > >
    ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|ta
    > > r|mid|midi|wav|bmp|rtf|js)$ {
    > >         root /usr/www/$host/htdocs;
    > > }
    > >
    > >  Все работает если на сайты заходить без
    > > www, поскольку статика тогда ищется
    > > в нужной директории, если же имя хоста
    > > начинается с www (www.example.com),
    > > тогда возникают проблемы с загрузкой
    > > изображений и др., поскольку директории
    > > (/usr/www/www.example.com/htdocs) не существует.
    > >
    > > Каким образом можно извлечь имя хоста,
    > > не зависимо от того, как оно
    > > указывается в адресной строке браузера.
    > > Проблему нужно решить средствами
    > > nginx!!!
    >

    > Можно использовать map:
    >
    > http://www.sysoev.ru/nginx/docs/http/ngx_http_map_module.html
    >
    > --
    > Best regards,
    > Valery Kholodkov
    >
    >





  -- 
  С уважением, Борис Долгов.
  icq 77556665
  e-mail boris at dolgov.name
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20081031/335fccbd/attachment.html>


More information about the nginx-ru mailing list