nginx rewrite:任何UTF8字符的符号

时间:2011-10-31 05:22:40

标签: regex web-services url-rewriting nginx

我想知道我可以使用什么符号来引用utf8编码表中用于nginx重写的任何字符。我试过了:

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

但似乎是“。”只能代表ascii字符,当我尝试http://example.com /汉(一个汉字)时,它不起作用。

这也不起作用:

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

2 个答案:

答案 0 :(得分:4)

来自文档:

  

但是,必须支持UTF-8和Unicode          明确启用;它不是默认值。 Unicode表格相关          spond to Unicode release 6.0.0。

所以你必须启用utf-8才能工作:

"(*UTF8)^yourregex$"

答案 1 :(得分:3)

上述说明告诉您使用......

"(*UTF8)^yourregex$"

但是您的错误消息显示您正在使用不同的内容......

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

我不是专家,但看起来你已经被建议前缀你的正则表达式(* UTF8),而是你在之后插入打开正则表达式的角色。