Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Регекс локейшены с русски ми именами
- To: nginx-ru@xxxxxxxxx
- Subject: Регекс локейшены с русски ми именами
- From: "RedRat" <nginx-forum@xxxxxxxx>
- Date: Wed, 20 Jul 2011 06:41:09 -0400
- Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mickey.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=US9C/O1c4qLni7I1aP1uVXCeA5aKqntJ+fxGSGvXC3k=; b=eEM0uoq7IErtM98iYbs47655hP1FDyixSUqzeILbjQAlbqAfvuQTorhj+8EwHUYIxZ5YSTTcwmu8RefWbaIWZq1Edq6LV5tukoSuUqItgQUkY22CRrkU8hqD6oSmqMd6;
Имеется nginx 1.0.4 под которым работает
DokuWiki с русскими именами страниц.
Понадобилось все запросы к одному
диапазону имён редиректить на другой. В
случае обычного локейшена это делается
без проблем, всё замечательно работает
с русскими именами в URI. Проблема
вылезла, когда я обычный локейшн
попытался поменять на регексповый
(чтобы ловить в него запросы без учёта
регистра) - в него попадают только те
запросы, русские буквы в которых в
точности соответствуют содержанию
регекспа, невзирая на наличие ~*.
Пример:
location ~* ^/старый: {
rewrite ^(.*):(.*)$ /новый:$2 permanent;
}
В него попадают запросы, начинающиеся с
"/старый:", но не попадают запросы,
начинающиеся со "/Старый:".
ЧЯДНТ?
P.S. Ещё один вопрос в догонку: в
документации сказано, что выделения в
регекс-локейшене можно потом
использовать в других директивах. Я
попробовал сделать так:
location ~* ^(/старый:)(.*)$ {
rewrite ^ /новый:$2 permanent;
}
Nginx на такой локейшн не ругается - но и
не работает. Вдумчивое чтение
документации (два раза) не помогло.
Подскажите, где я ошибаюсь.
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,212675,212675#msg-212675
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|