【发布时间】:2011-08-08 22:25:08
【问题描述】:
我正在尝试使用以下 nginx 重写规则重写一些 url
rewrite ^/some\/url\/(.*)\/$ /some/url/?filter=$1;
如果查询包含&,重写似乎不起作用,例如
?filter=key:abcd & efgh
我正确引用的内容
?filter=abcd%20%26%20N%20efgh
我的问题只是重写了 url /som/url/key:abcd%20%26%20N%20efgh 不起作用。如果我像/some/url/?filter=abcd%20%26%20N%20efgh 一样访问它,它工作正常。
我错过了什么吗?
谢谢。
【问题讨论】:
-
我对 apache 的 mod_rewrite 也有类似的问题。我认为在处理重写规则之前已经完成了一些 url 解码。最后,我不得不将原始 URL 传递给 PHP,并直接解析
$_SERVER['REQUEST_URI']。
标签: url-rewriting nginx