如何将mod_rewrite(QSA选项)转换为Nginx的等价物?

我正在寻找将下面的mod_rewrite规则转换为Nginx的等价物 :

 RewriteRule ^foo/(.*)$ /bar/index.php?title=$1 [PT,L,QSA] RewriteRule ^foo/*$ /bar/index.php [L,QSA] 

到目前为止我有:

 rewrite ^foo/(.*)$ /bar/index.php?title=$1&$query_string last; rewrite ^foo/?$ /bar/index.php?$query_string break; 

问题是(我想!)查询string不会被追加。 我还没有find将QSA参数移植到Nginx的方法。

QSA在NGINX中是自动的。

如果你不想要,添加? 到您的新位置结束

重写^ / foo /bar/index.php? 持续;

这些重写规则使脚本工作:

 rewrite ^/foo/([^?]*)(?:\?(.*))? /bar/index.php?title=$1&$2; rewrite ^/foo /bar/index.php;