如何在nginx中用分号重写URL的路径?

时间:2018-08-20 16:10:18

标签: nginx url-rewriting

我使用nginx作为反向代理,Angular Universal应用程序在后台运行。

我正在尝试通过nginx将旧的网址格式重写为新的网址格式

server {
    rewrite ^/s/(.+)$ /search\;q=$1 permanent;`
    ...
}

诸如/s/keywords之类的内容被重定向到/search;q=keywords

不幸的是,上面的nginx规则变成了

/s/keywords/search/;q=keywords中(因此在/search之后添加了斜杠)。是否有机会删除此斜杠,使结果为/search;q=keywords

(在nginx后面运行的应用程序希望该URL为/search;q=keywords。)

1 个答案:

答案 0 :(得分:1)

您可以在替换项中添加引号,例如:

rewrite ^/s/(.+)$ "/search;q=$1" permanent;