* Re: [Sysadmins] Помогите с nginx rewrite
2011-01-25 15:56 ` Yuri Khachaturyan
@ 2011-01-25 16:13 ` Yuriy Kashirin
2011-01-25 16:30 ` Yuri Khachaturyan
2011-01-25 16:38 ` Денис Смирнов
2011-01-25 16:40 ` Денис Смирнов
2 siblings, 1 reply; 28+ messages in thread
From: Yuriy Kashirin @ 2011-01-25 16:13 UTC (permalink / raw)
To: ALT Linux sysadmins' discussion
On Вторник 25 января 2011, Yuri Khachaturyan wrote:
> 25 января 2011 г. 18:52 пользователь Денис Смирнов
>
> <mithraen@freesource.info> написал:
> > On Tue, Jan 25, 2011 at 04:39:39PM +0300, Yuri Khachaturyan
> > wrote:
> >
> > YK> Тоже ошибка. Вариант от Дениса исправил ошибку, но rewrite
> > все равно YK> не срабатывает.
> Пробовал уже все, что только возможно.
> Перловый скрипт с таким же регекспом отрабатывает, внутри nginx -
> нет. Очень похоже, что проблема в самом nginx или libpcre.
> Пробовал пересобрать последние версии stable и devel - результат
> тот же:
>
> 2011/01/25 18:52:38 [notice] 30896#0: *21
> "^/media/(.*)/(.*)/t/([0-9]+)/(.*)\.([a-z0-9]{3})$
> /media/$1/$2/$4.$5?$3" does not match
> "/media/video/air_subjects/2010-01/04/t/234234/12392.flv",
А вы что в кавычки заключили? Все правило? Или все таки только
регексп?
--
Best regards
Yuriy Kashirin
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Sysadmins] Помогите с nginx rewrite
2011-01-25 16:13 ` Yuriy Kashirin
@ 2011-01-25 16:30 ` Yuri Khachaturyan
2011-01-26 3:09 ` Денис Смирнов
0 siblings, 1 reply; 28+ messages in thread
From: Yuri Khachaturyan @ 2011-01-25 16:30 UTC (permalink / raw)
To: ALT Linux sysadmins' discussion
25 января 2011 г. 19:13 пользователь Yuriy Kashirin <yura@emict.com> написал:
>> 2011/01/25 18:52:38 [notice] 30896#0: *21
>> "^/media/(.*)/(.*)/t/([0-9]+)/(.*)\.([a-z0-9]{3})$
>> /media/$1/$2/$4.$5?$3" does not match
>> "/media/video/air_subjects/2010-01/04/t/234234/12392.flv",
>
> А вы что в кавычки заключили? Все правило? Или все таки только
> регексп?
Только регексп, есстественно.
При всем при этом, этот же регексп в apache2 отлично работает, а также
перловый скрипт:
#!/usr/bin/perl
use strict;
my $a = "/media/video/air_subjects/2010-01/04/t/234234/12392.flv";
print "$a\n";
$a =~ s|/media/(.*)/(.*)/t/([0-9]+)/(.*)\.([a-z0-9]{3})$|/media/$1/$2/$4.$5?$3|;
print $a;
тоже все отрабатывает как надо.
nginx в режиме debug же пишет does not match.
--
С уважением,
Хачатурян Юрий (yukh@yukh.ru)
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Sysadmins] Помогите с nginx rewrite
2011-01-25 15:56 ` Yuri Khachaturyan
2011-01-25 16:13 ` Yuriy Kashirin
@ 2011-01-25 16:38 ` Денис Смирнов
2011-01-25 16:42 ` Yuri Khachaturyan
2011-01-25 16:40 ` Денис Смирнов
2 siblings, 1 reply; 28+ messages in thread
From: Денис Смирнов @ 2011-01-25 16:38 UTC (permalink / raw)
To: ALT Linux sysadmins' discussion
[-- Attachment #1: Type: text/plain, Size: 1302 bytes --]
On Tue, Jan 25, 2011 at 06:56:25PM +0300, Yuri Khachaturyan wrote:
YK> Пробовал уже все, что только возможно.
YK> Перловый скрипт с таким же регекспом отрабатывает, внутри nginx - нет.
YK> Очень похоже, что проблема в самом nginx или libpcre. Пробовал
YK> пересобрать последние версии stable и devel - результат тот же:
YK> "^/media/(.*)/(.*)/t/([0-9]+)/(.*)\.([a-z0-9]{3})$
YK> /media/$1/$2/$4.$5?$3" does not match
YK> "/media/video/air_subjects/2010-01/04/t/234234/12392.flv", client:
Гм. На глаз они подходят, разве что если / не попадает под . (что
редкостный бред, но можно проверить).
Ну и когда я отлаживаю регекспы, то я сначала пишу что-то простое
(фактически точное совпадение с той строкой которая сранивается), а уже
потом начинаю ее править и превуращать в regexp.
YK> 213.243.84.2, server: , request: "GET
YK> /media/video/air_subjects/2010-01/04/t/234234/12392.flv HTTP/1.1"
YK>
YK>
YK> --
YK> С уважением,
YK> Хачатурян Юрий (yukh@yukh.ru)
YK> _______________________________________________
YK> Sysadmins mailing list
YK> Sysadmins@lists.altlinux.org
YK> https://lists.altlinux.org/mailman/listinfo/sysadmins
--
С уважением, Денис
http://mithraen.ru/
----------------------------------------------------------------------------
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Sysadmins] Помогите с nginx rewrite
2011-01-25 16:38 ` Денис Смирнов
@ 2011-01-25 16:42 ` Yuri Khachaturyan
0 siblings, 0 replies; 28+ messages in thread
From: Yuri Khachaturyan @ 2011-01-25 16:42 UTC (permalink / raw)
To: ALT Linux sysadmins' discussion
25 января 2011 г. 19:38 пользователь Денис Смирнов
<mithraen@freesource.info> написал:
> Гм. На глаз они подходят, разве что если / не попадает под . (что
> редкостный бред, но можно проверить).
>
> Ну и когда я отлаживаю регекспы, то я сначала пишу что-то простое
> (фактически точное совпадение с той строкой которая сранивается), а уже
> потом начинаю ее править и превуращать в regexp.
Повторюсь, в apache оно работает, и perl скрипт с этим же regex
отрабатывает как нужно... Тут какая то проблема в nginx похоже...
--
С уважением,
Хачатурян Юрий (yukh@yukh.ru)
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Sysadmins] Помогите с nginx rewrite
2011-01-25 15:56 ` Yuri Khachaturyan
2011-01-25 16:13 ` Yuriy Kashirin
2011-01-25 16:38 ` Денис Смирнов
@ 2011-01-25 16:40 ` Денис Смирнов
2011-01-25 16:43 ` Yuri Khachaturyan
2 siblings, 1 reply; 28+ messages in thread
From: Денис Смирнов @ 2011-01-25 16:40 UTC (permalink / raw)
To: ALT Linux sysadmins' discussion
[-- Attachment #1: Type: text/plain, Size: 592 bytes --]
On Tue, Jan 25, 2011 at 06:56:25PM +0300, Yuri Khachaturyan wrote:
YK> Пробовал уже все, что только возможно.
YK> Перловый скрипт с таким же регекспом отрабатывает, внутри nginx - нет.
YK> Очень похоже, что проблема в самом nginx или libpcre. Пробовал
YK> пересобрать последние версии stable и devel - результат тот же:
О, в соседнем письме правильный ответ на задачку :)
На будущее -- лучше при отладки таких вещей хотя бы аттачить конфиг к
письму.
--
С уважением, Денис
http://mithraen.ru/
----------------------------------------------------------------------------
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Sysadmins] Помогите с nginx rewrite
2011-01-25 16:40 ` Денис Смирнов
@ 2011-01-25 16:43 ` Yuri Khachaturyan
2011-01-25 18:17 ` Afanasov Dmitry
2011-01-26 3:07 ` Денис Смирнов
0 siblings, 2 replies; 28+ messages in thread
From: Yuri Khachaturyan @ 2011-01-25 16:43 UTC (permalink / raw)
To: ALT Linux sysadmins' discussion
25 января 2011 г. 19:40 пользователь Денис Смирнов
<mithraen@freesource.info> написал:
> О, в соседнем письме правильный ответ на задачку :)
>
> На будущее -- лучше при отладки таких вещей хотя бы аттачить конфиг к
> письму.
>
Конфиг чего? Всего nginx или достаточно только секции server?
server {
listen 194.67.52.114:80;
server_name test.poisk.vid.ru;
error_log /var/log/nginx/error.log debug ;
location / {
root /home/wm/www;
index index.php;
rewrite "^/media/(.*)/(.*)/t/([0-9]+)/(.*)\.([a-z0-9]{3})$
/media/$1/$2/$4.$5?$3" break;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php5-fpm/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/wm/www$fastcgi_script_name;
include fastcgi_params;
}
}
--
С уважением,
Хачатурян Юрий (yukh@yukh.ru)
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Sysadmins] Помогите с nginx rewrite
2011-01-25 16:43 ` Yuri Khachaturyan
@ 2011-01-25 18:17 ` Afanasov Dmitry
2011-01-25 18:21 ` Yuri Khachaturyan
2011-01-26 3:07 ` Денис Смирнов
1 sibling, 1 reply; 28+ messages in thread
From: Afanasov Dmitry @ 2011-01-25 18:17 UTC (permalink / raw)
To: sysadmins
[-- Attachment #1: Type: text/plain, Size: 655 bytes --]
On Tue, Jan 25, 2011 at 07:43:21PM +0300, Yuri Khachaturyan wrote:
> 25 января 2011 г. 19:40 пользователь Денис Смирнов
> <mithraen@freesource.info> написал:
> > О, в соседнем письме правильный ответ на задачку :)
> >
> > На будущее -- лучше при отладки таких вещей хотя бы аттачить конфиг к
> > письму.
> >
> Конфиг чего? Всего nginx или достаточно только секции server?
>
> rewrite "^/media/(.*)/(.*)/t/([0-9]+)/(.*)\.([a-z0-9]{3})$ /media/$1/$2/$4.$5?$3" break;
какая прелесть. rewrite "..." "..." break
а я б вообще переписал как
rewrite "^(/media/.*/t/)(\d+)/(\d+\.\w{3})$ /$1/$3?$2" break;
--
С уважением
Афанасов Дмитрий
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Sysadmins] Помогите с nginx rewrite
2011-01-25 18:17 ` Afanasov Dmitry
@ 2011-01-25 18:21 ` Yuri Khachaturyan
2011-01-25 18:39 ` Afanasov Dmitry
0 siblings, 1 reply; 28+ messages in thread
From: Yuri Khachaturyan @ 2011-01-25 18:21 UTC (permalink / raw)
To: ALT Linux sysadmins' discussion
25 января 2011 г. 21:17 пользователь Afanasov Dmitry
<ender@altlinux.org> написал:
>> Конфиг чего? Всего nginx или достаточно только секции server?
>>
>> rewrite "^/media/(.*)/(.*)/t/([0-9]+)/(.*)\.([a-z0-9]{3})$ /media/$1/$2/$4.$5?$3" break;
> какая прелесть. rewrite "..." "..." break
>
> а я б вообще переписал как
> rewrite "^(/media/.*/t/)(\d+)/(\d+\.\w{3})$ /$1/$3?$2" break;
>
Не помогло:
2011/01/25 21:18:17 [notice] 3107#0: *35
"^(/media/.*/t/)(\d+)/(\d+\.\w{3})$ /$1/$3?$2" does not match
"/media/video/air_subjects/2010-01/04/t/234234/12392.flv", client:
213.243.84.2, server: test.poisk.vid.ru, request: "GET
/media/video/air_subjects/2010-01/04/t/234234/12392.flv HTTP/1.1",
host: "test.poisk.vid.ru"
2011/01/25 21:18:17 [error] 3107#0: *35 open()
"/home/wm/www/media/video/air_subjects/2010-01/04/t/234234/12392.flv"
failed (2: No such file or directory), client: 213.243.84.2, server:
test.poisk.vid.ru, request: "GET
/media/video/air_subjects/2010-01/04/t/234234/12392.flv HTTP/1.1",
host: "test.poisk.vid.ru"
Файл реально лежит в /media/video/air_subjects/2010-01/04/12392.flv, с
помощью данного rewrite нужно преобразовать путь, который
запрашивается в этот и передать параметр через ?, который идет сразу
после /t/ ...
--
С уважением,
Хачатурян Юрий (yukh@yukh.ru)
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Sysadmins] Помогите с nginx rewrite
2011-01-25 18:21 ` Yuri Khachaturyan
@ 2011-01-25 18:39 ` Afanasov Dmitry
2011-01-25 18:43 ` Yuri Khachaturyan
2011-01-25 18:47 ` Yuri Khachaturyan
0 siblings, 2 replies; 28+ messages in thread
From: Afanasov Dmitry @ 2011-01-25 18:39 UTC (permalink / raw)
To: sysadmins
[-- Attachment #1: Type: text/plain, Size: 897 bytes --]
On Tue, Jan 25, 2011 at 09:21:15PM +0300, Yuri Khachaturyan wrote:
> 25 января 2011 г. 21:17 пользователь Afanasov Dmitry
> <ender@altlinux.org> написал:
> >> Конфиг чего? Всего nginx или достаточно только секции server?
> >>
> >> rewrite "^/media/(.*)/(.*)/t/([0-9]+)/(.*)\.([a-z0-9]{3})$ /media/$1/$2/$4.$5?$3" break;
> > какая прелесть. rewrite "..." "..." break
> >
> > а я б вообще переписал как
> > rewrite "^(/media/.*/t/)(\d+)/(\d+\.\w{3})$ /$1/$3?$2" break;
> >
> Не помогло:
брр, сам сказал про прелесть и сам же повторил. смотрите за кавычками:
rewrite "^(/media/.*/t/)(\d+)/(\d+\.\w{3})$" "$1$3?$2";
специально проверил:
*1 "^(/media/.*/t/)(\d+)/(\d+\.\w{3})$" matches "/media/video/air_subjects/2010-01/01/t/123123/82.flv"
*1 rewritten data: "/media/video/air_subjects/2010-01/01/t//82.flv", args: "123123"
--
С уважением
Афанасов Дмитрий
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Sysadmins] Помогите с nginx rewrite
2011-01-25 18:39 ` Afanasov Dmitry
@ 2011-01-25 18:43 ` Yuri Khachaturyan
2011-01-25 18:47 ` Afanasov Dmitry
2011-01-26 9:11 ` Yuriy Kashirin
2011-01-25 18:47 ` Yuri Khachaturyan
1 sibling, 2 replies; 28+ messages in thread
From: Yuri Khachaturyan @ 2011-01-25 18:43 UTC (permalink / raw)
To: ALT Linux sysadmins' discussion
25 января 2011 г. 21:39 пользователь Afanasov Dmitry
<ender@altlinux.org> написал:
> брр, сам сказал про прелесть и сам же повторил. смотрите за кавычками:
>
> rewrite "^(/media/.*/t/)(\d+)/(\d+\.\w{3})$" "$1$3?$2";
>
> специально проверил:
>
> *1 "^(/media/.*/t/)(\d+)/(\d+\.\w{3})$" matches "/media/video/air_subjects/2010-01/01/t/123123/82.flv"
> *1 rewritten data: "/media/video/air_subjects/2010-01/01/t//82.flv", args: "123123"
Вот это уже ближе к делу, только
2011/01/25 21:40:30 [notice] 3338#0: *10
"^(/media/.*/t/)(\d+)/(\d+\.\w{3})$" matches
"/media/video/air_subjects/2010-01/04/t/234234/12392.flv", client:
213.243.84.2, server: test.poisk.vid.ru, request: "GET
/media/video/air_subjects/2010-01/04/t/234234/12392.flv HTTP/1.1",
host: "test.poisk.vid.ru"
2011/01/25 21:40:30 [notice] 3338#0: *10 rewritten data:
"/media/video/air_subjects/2010-01/04/t/12392.flv", args: "234234",
client: 213.243.84.2, server: test.poisk.vid.ru, request: "GET
/media/video/air_subjects/2010-01/04/t/234234/12392.flv HTTP/1.1",
host: "test.poisk.vid.ru"
в результате мы получили
/media/video/air_subjects/2010-01/04/t/12392.flv", args: "234234", а
надо без /t/
--
С уважением,
Хачатурян Юрий (yukh@yukh.ru)
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Sysadmins] Помогите с nginx rewrite
2011-01-25 18:43 ` Yuri Khachaturyan
@ 2011-01-25 18:47 ` Afanasov Dmitry
2011-01-25 18:48 ` Yuri Khachaturyan
2011-01-26 9:11 ` Yuriy Kashirin
1 sibling, 1 reply; 28+ messages in thread
From: Afanasov Dmitry @ 2011-01-25 18:47 UTC (permalink / raw)
To: sysadmins
[-- Attachment #1: Type: text/plain, Size: 861 bytes --]
On Tue, Jan 25, 2011 at 09:43:30PM +0300, Yuri Khachaturyan wrote:
> 25 января 2011 г. 21:39 пользователь Afanasov Dmitry
> <ender@altlinux.org> написал:
> > брр, сам сказал про прелесть и сам же повторил. смотрите за кавычками:
> >
> > rewrite "^(/media/.*/t/)(\d+)/(\d+\.\w{3})$" "$1$3?$2";
> >
> > специально проверил:
> >
> > *1 "^(/media/.*/t/)(\d+)/(\d+\.\w{3})$" matches "/media/video/air_subjects/2010-01/01/t/123123/82.flv"
> > *1 rewritten data: "/media/video/air_subjects/2010-01/01/t//82.flv", args: "123123"
>
> Вот это уже ближе к делу, только
>
> в результате мы получили
> /media/video/air_subjects/2010-01/04/t/12392.flv", args: "234234", а
> надо без /t/
ну уж дальше, я полагаю, вы закончите. основная ошибка была - в кавычках.
сначала в их отсуствии, затем в неверном расположении.
--
С уважением
Афанасов Дмитрий
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Sysadmins] Помогите с nginx rewrite
2011-01-25 18:47 ` Afanasov Dmitry
@ 2011-01-25 18:48 ` Yuri Khachaturyan
0 siblings, 0 replies; 28+ messages in thread
From: Yuri Khachaturyan @ 2011-01-25 18:48 UTC (permalink / raw)
To: ALT Linux sysadmins' discussion
25 января 2011 г. 21:47 пользователь Afanasov Dmitry
<ender@altlinux.org> написал:
>> в результате мы получили
>> /media/video/air_subjects/2010-01/04/t/12392.flv", args: "234234", а
>> надо без /t/
> ну уж дальше, я полагаю, вы закончите. основная ошибка была - в кавычках.
> сначала в их отсуствии, затем в неверном расположении.
Да, уже все сделал. Спасибо огромное!
--
С уважением,
Хачатурян Юрий (yukh@yukh.ru)
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Sysadmins] Помогите с nginx rewrite
2011-01-25 18:43 ` Yuri Khachaturyan
2011-01-25 18:47 ` Afanasov Dmitry
@ 2011-01-26 9:11 ` Yuriy Kashirin
2011-01-26 9:26 ` Yuri Khachaturyan
2011-01-26 9:45 ` Michael Shigorin
1 sibling, 2 replies; 28+ messages in thread
From: Yuriy Kashirin @ 2011-01-26 9:11 UTC (permalink / raw)
To: ALT Linux sysadmins' discussion
On Вторник 25 января 2011, Yuri Khachaturyan wrote:
> Вот это уже ближе к делу, только
>
> 2011/01/25 21:40:30 [notice] 3338#0: *10
> "^(/media/.*/t/)(\d+)/(\d+\.\w{3})$" matches
> "/media/video/air_subjects/2010-01/04/t/234234/12392.flv", client:
> 213.243.84.2, server: test.poisk.vid.ru, request: "GET
> /media/video/air_subjects/2010-01/04/t/234234/12392.flv HTTP/1.1",
> host: "test.poisk.vid.ru"
> 2011/01/25 21:40:30 [notice] 3338#0: *10 rewritten data:
> "/media/video/air_subjects/2010-01/04/t/12392.flv", args: "234234",
>
> в результате мы получили
> /media/video/air_subjects/2010-01/04/t/12392.flv", args: "234234",
> а надо без /t/
А вы чем ргулярные выражения отлаживаете?
$ pcretest
PCRE version 7.9 2009-04-11
re> "^(/media/.*/t/)(\d+)/(\d+\.\w{3})$"
data> /media/video/air_subjects/2010-01/04/t/234234/12392.flv
0: /media/video/air_subjects/2010-01/04/t/234234/12392.flv
1: /media/video/air_subjects/2010-01/04/t/
2: 234234
3: 12392.flv
data>
Кстати, пользуясь случаем, спрошу. pcretest для таких случаев весьма
полезная утилита. Зачем она в девел пакете лежит (libpcre-devel)?
--
Best regards
Yuriy Kashirin
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Sysadmins] Помогите с nginx rewrite
2011-01-26 9:11 ` Yuriy Kashirin
@ 2011-01-26 9:26 ` Yuri Khachaturyan
2011-01-26 12:48 ` Slava Dubrovskiy
2011-01-26 9:45 ` Michael Shigorin
1 sibling, 1 reply; 28+ messages in thread
From: Yuri Khachaturyan @ 2011-01-26 9:26 UTC (permalink / raw)
To: ALT Linux sysadmins' discussion
26 января 2011 г. 12:11 пользователь Yuriy Kashirin <yura@emict.com> написал:
> А вы чем ргулярные выражения отлаживаете?
>
> $ pcretest
> PCRE version 7.9 2009-04-11
Я отлаживал обычным перлом... А за утилитку спасибо, будем знать ))
--
С уважением,
Хачатурян Юрий (yukh@yukh.ru)
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Sysadmins] Помогите с nginx rewrite
2011-01-26 9:26 ` Yuri Khachaturyan
@ 2011-01-26 12:48 ` Slava Dubrovskiy
2011-01-27 3:59 ` Дмитрий Дегтярев
0 siblings, 1 reply; 28+ messages in thread
From: Slava Dubrovskiy @ 2011-01-26 12:48 UTC (permalink / raw)
To: ALT Linux sysadmins' discussion
[-- Attachment #1: Type: text/plain, Size: 391 bytes --]
26.01.2011 11:26, Yuri Khachaturyan пишет:
>> А вы чем ргулярные выражения отлаживаете?
>>
>> $ pcretest
>> PCRE version 7.9 2009-04-11
> Я отлаживал обычным перлом... А за утилитку спасибо, будем знать ))
Да, спасибо. А я мучился всегда...
--
WBR,
Dubrovskiy Vyacheslav
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 5525 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Sysadmins] Помогите с nginx rewrite
2011-01-26 12:48 ` Slava Dubrovskiy
@ 2011-01-27 3:59 ` Дмитрий Дегтярев
0 siblings, 0 replies; 28+ messages in thread
From: Дмитрий Дегтярев @ 2011-01-27 3:59 UTC (permalink / raw)
To: slava, ALT Linux sysadmins' discussion
26.01.2011 17:48, Slava Dubrovskiy пишет:
> 26.01.2011 11:26, Yuri Khachaturyan пишет:
>>> А вы чем ргулярные выражения отлаживаете?
>>>
>>> $ pcretest
>>> PCRE version 7.9 2009-04-11
>> Я отлаживал обычным перлом... А за утилитку спасибо, будем знать ))
> Да, спасибо. А я мучился всегда...
Если не секрет, в каком пакете это чудо утилита.. А то я то же мучаюсь..
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Sysadmins] Помогите с nginx rewrite
2011-01-26 9:11 ` Yuriy Kashirin
2011-01-26 9:26 ` Yuri Khachaturyan
@ 2011-01-26 9:45 ` Michael Shigorin
2011-01-27 7:58 ` Yuriy Kashirin
1 sibling, 1 reply; 28+ messages in thread
From: Michael Shigorin @ 2011-01-26 9:45 UTC (permalink / raw)
To: ALT Linux sysadmins' discussion
On Wed, Jan 26, 2011 at 11:11:30AM +0200, Yuriy Kashirin wrote:
> Кстати, пользуясь случаем, спрошу. pcretest для таких случаев весьма
> полезная утилита. Зачем она в девел пакете лежит (libpcre-devel)?
Повесишь или мне? :)
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Sysadmins] Помогите с nginx rewrite
2011-01-25 18:39 ` Afanasov Dmitry
2011-01-25 18:43 ` Yuri Khachaturyan
@ 2011-01-25 18:47 ` Yuri Khachaturyan
1 sibling, 0 replies; 28+ messages in thread
From: Yuri Khachaturyan @ 2011-01-25 18:47 UTC (permalink / raw)
To: ALT Linux sysadmins' discussion
25 января 2011 г. 21:39 пользователь Afanasov Dmitry
<ender@altlinux.org> написал:
> специально проверил:
>
> *1 "^(/media/.*/t/)(\d+)/(\d+\.\w{3})$" matches "/media/video/air_subjects/2010-01/01/t/123123/82.flv"
> *1 rewritten data: "/media/video/air_subjects/2010-01/01/t//82.flv", args: "123123"
Похоже, проблема была действительно в кавычках.
Сработала вот такая конструкция:
rewrite "^/media/(.*)/(.*)/t/([0-9]+)/(.*)\.([a-z0-9]{3})$"
"/media/$1/$2/$4.$5?$3" last;
Дмитрий и остальные, кто принял участие, огромное Вам спасибо за помощь!
--
С уважением,
Хачатурян Юрий (yukh@yukh.ru)
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [Sysadmins] Помогите с nginx rewrite
2011-01-25 16:43 ` Yuri Khachaturyan
2011-01-25 18:17 ` Afanasov Dmitry
@ 2011-01-26 3:07 ` Денис Смирнов
1 sibling, 0 replies; 28+ messages in thread
From: Денис Смирнов @ 2011-01-26 3:07 UTC (permalink / raw)
To: ALT Linux sysadmins' discussion
[-- Attachment #1: Type: text/plain, Size: 719 bytes --]
On Tue, Jan 25, 2011 at 07:43:21PM +0300, Yuri Khachaturyan wrote:
YK> Конфиг чего? Всего nginx или достаточно только секции server?
YK> rewrite "^/media/(.*)/(.*)/t/([0-9]+)/(.*)\.([a-z0-9]{3})$
YK> /media/$1/$2/$4.$5?$3" break;
Достаточно этой строчки, в которой бред :)
Потому что вместо регекса
^/media/(.*)/(.*)/t/([0-9]+)/(.*)\.([a-z0-9]{3})$ с заменой на
/media/$1/$2/$4.$5?$3 я вижу регексп
"^/media/(.*)/(.*)/t/([0-9]+)/(.*)\.([a-z0-9]{3})$
/media/$1/$2/$4.$5?$3" с заменой на "break";
В кавычках должен быть регексп, а не regexp вместе с тем на что заменяем.
--
С уважением, Денис
http://mithraen.ru/
----------------------------------------------------------------------------
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread