Re: Поддомены

Sergey Shepelev temotor at gmail.com
Mon Aug 31 03:37:59 MSD 2009


2009/8/31 Роман <n.g.i.n.x.e.r at gmail.com>:
> Гдето здесь видел описание работы автоматических поддоменов
> реализовал у себя подобное
> но столкнулся с пробелмой - в поддомене нужно сделать реврайт правила
>
> сечас работает такая схема
>
> server {
>        listen          127.0.0.1:80;
>        server_name     host.ru *.host.ru;
>
>
>        set $subdomain "";
>        if ($host ~* ^([a-z0-9-\.]+)\.host.ru$) {set $subdomain "/sub_$1";}
>        if ($host ~* ^www.host.ru$)             {set $subdomain "";}
> ...
>        location / {
>                root    /home/user/host.ru$subdomain;
>        }
> ...
> }
>
> при такой схеме все что находится в поддомене понимает что находится в
> location /
> и привязаться не к чему как к хосту
> но как тогда написать правило if (!-f $request_filename) { ... } ?
>

Нельзя писать if (-f $request_filename).

> или может есть другой вариант?
>

server {
  listen ..
  server_name www.hosting.ru;
  ...
}

server {
  listen..
  server_name ~ ^(.*)\.hosting\.ru;

  location / {
    try_files $uri @backend;
  }

  location @backend { здесь проксирование на ваш PHP }
}


More information about the nginx-ru mailing list