переписать nginx: символ для ЛЮБОГО символа UTF8 - PullRequest
3 голосов
/ 31 октября 2011

Я хочу знать, какой символ я могу использовать для обозначения любого символа в таблице кодирования utf8 для перезаписи nginx.Я попытался:

rewrite ^/.$ /new-location.html break;

, но, кажется, "."может означать только символы ascii, когда я попробовал http://example.com/汉 (китайский символ), это не сработало.

Это также не работает:

rewrite ^/([\x00-\xff])$ /new-location.html break;

Ответы [ 2 ]

4 голосов
/ 31 октября 2011

Из документации:

Однако поддержка UTF-8 и Unicode должна быть явно включен; это не по умолчанию. Таблицы Unicode соответствуют поддерживает Unicode Release 6.0.0.

Так что вы должны включить utf-8 для работы:

"(*UTF8)^yourregex$"
3 голосов
/ 16 ноября 2011

Инструкция выше говорит вам использовать ...

"(*UTF8)^yourregex$"

но ваше сообщение об ошибке показывает, что вы используете что-то другое ...

"^(*UTF8)/(.)$"

Я не эксперт, но похоже, что вам посоветовали префикс вашего регулярного выражения с (* UTF8), но вместо этого вы вставляете его после открывающего символа вашего регулярного выражения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...