如何在位置中实现具有空格(%C2%A0)的Nginx重写规则?

时间:2017-10-19 13:30:59

标签: nginx vhosts

我很难弄清楚如何编写此Nginx规则来重写网址http://example.com/test/%C2%A0'到' http://example.com/test'。

到目前为止,我在vhost中尝试了什么:

Location http://example.com/test/%C2%A0 {
  rewrite ^/.* http://example.com/test permanent;
}

当我重新启动nginx服务时,它似乎无法正常工作。

提前致谢,

1 个答案:

答案 0 :(得分:0)

百分比编码的字符在locationrewrite看到它们时被解码。但是不间断的空间看起来仍然像两个角色。正则表达式语法可以使用其十六进制值指定字符,例如:

location ~ ^/test/\xc2\xa0$ {
    return 301 /test;
}

或者:

rewrite ^/test/\xc2\xa0$ /test permanent;

有关详情,请参阅the location directivethe rewrite directive