Welcome! Log In Create A New Profile

Advanced

Re: Регекс локейшены с русскими именами

July 20, 2011 09:48AM
Maxim Dounin Пишет:
-------------------------------------------------------
> Для case-insensitive matching'а UTF-8 строк можно сделать так
> (если конечно pcre собран с UTF-8 и т.п.):
>
> location ~* (*UTF8)^/старый: {
> ...
> }
>
> Но я *не* рекомендую так делать в общем случае, ибо
> на запросах с uri не являющимся валидной utf-8 строкой будет
> возвращена 500-я ошибка.
>
> Безопаснее решение - написать несколько
> статических location'ов или регулярное выражение с
> альтернативами, i.e.
>
> location /Старый: { ... }
> location /старый: { ... }
>
> location ~ ^/(?:С|с)тарый: { ... }

Да, наверное, так и сделаю. Просто хотелось одним локейшеном обойтись,
но тут лучше перебдеть. Спасибо за совет!

> Директива rewrite сама по себе выполняет регулярное выражение,
> соответственно $2 будет браться из него (последнего выполненного).
> Можно сделать с использованием именованных выделений, так:
>
> location ~ ^/старый:(?<page>.*)$ {
> rewrite ^ /новый:$page permanent;
> }

Я просто думал, что раз в первой части rewrite не используется выделение,
то оно возьмётся из локейшена. Ещё раз спасибо, теперь всё ясно.
Subject Author Posted

Регекс локейшены с русскими именами

RedRat July 20, 2011 06:41AM

Re: Регекс локейшены с русскими именами

Maxim Dounin July 20, 2011 07:50AM

Re: Регекс локейшены с русскими именами

RedRat July 20, 2011 09:48AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 271
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready