captures in regex location
Igor Sysoev
is at rambler-co.ru
Thu Mar 5 14:43:00 MSK 2009
On Thu, Mar 05, 2009 at 01:57:49PM +0300, Vladimir Sopot wrote:
> Спасибо, но что-то оно не того
>
> server {
> server_name ~^([b|o])(\d)z\.site;
>
> # if ($host ~* (.)(\d)) {
> set $store_type $1;
> set $store_id $2;
> # }
>
> root /wwwroot/site/$store_id/$store_type/;
> }
>
> В таком виде не работает (404), если убрать комментарии - все
> становится на свои места. Забрать root внутрь location / { } тоже
> ничего не дает. root /wwwroot/site/$2/$1/ тоже не работает
Скорее всего, regex вообще не исполняется, потому что сервер один -
проверять нечего. Нужно добавить пустой сервер, чтобы nginx начал проверять
server_name:
server { server_name _; }
> On Mar 5, 2009, at 1:17 PM, Igor Sysoev wrote:
>
> >On Thu, Mar 05, 2009 at 12:14:55PM +0200, Andrew Sitnikov wrote:
> >
> >>>>А можно такое же ещё и для server_name?
> >>IS> Новый патч с поддержкой server_name.
> >>можно пример ?
> >
> >Наверное, как-то так:
> >
> > server {
> > listen 8000;
> > server_name ~^(?:www\.)?(.+)$;
> >
> > location / {
> > root /path/to/$1;
> > }
> > }
> >
> >
> >--
> >Игорь Сысоев
> >http://sysoev.ru
> >
> >
>
--
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list