Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Помогите с alias
Hello!
On Mon, Oct 19, 2009 at 03:25:50PM -0400, webscripter wrote:
> Gena Makhomed Пишет:
> -------------------------------------------------------
> > webscripter wrote:
> >
> > > нужен третий вариант,
> > который не прибавляет
> > вначале www.
> > > а наоборот убирает из
> > переменной $host
> >
> > http://www.lexa.ru/nginx-ru/msg25038.html
> >
> > --
> > Best regards,
> > Gena
>
> Пошел по пути, по которому обещали отписать от листа) Т.к. второй способ мне
> не подходит. Но все равно не получилось.
>
> location ~ ^/domains_data_fow/(.*)$ {
> if ($host ~ ^www\.(.+)$) {
> set $name $1;
> }
> alias /path/to/domains_data/$name/$1;
> }
>
> Получается что $1 в конце принимает значение второго регулярного выражения, а
> надо чтобы первого. Если присвоить переменную и затем подставить ее вместо
> $1, то nginx ругается на синтакс конфига
> the "alias" directive must use captures inside location given by regular
> expression in /usr/local/nginx/conf/nginx.conf:111
Совет: перенесите неприличное слово из двух букв на уровень
server{}. Оно там станет более или менее приличным (по крайней
мере не будет приводить к непредсказуемогу поведению), ну и
работать будет как надо.
Второй совет: если вам ещё будут предлагать использовать конструкции с
captures в имени сервера для конфигов сложнее чем приведён по
ссылке выше - сразу интересуйтесь где берут патч чтобы оно при
внутренних редиректах не ломалось.
Maxim Dounin
|