将url path参数写入nginx中的查询字符串参数

Aid*_*wen 1 nginx url-rewriting

我正在尝试将地址名称从url路径重写为nginx上的查询字符串.

我想ourdomain.com/hotels/london?some_key=value成为ourdomain.com?d=london&some_key=value

我们用Apache做的 -

RewriteRule ^hotels/([^/]+)/?\??(.*)$ ?d=$1&$2 [QSA]
Run Code Online (Sandbox Code Playgroud)

我们目前正在使用haProxy(充当反向代理) -

reqrep ^([^\ :]*)\ /hotels/([^/\ \?]+)/?\??([^\ ]*)(.*)$     \1\ /?d=\2&\3\4
Run Code Online (Sandbox Code Playgroud)

我如何在nginx上做同样的事情?

Ric*_*ith 6

尝试类似的东西:

rewrite ^/hotels/([^/]+)/?$ /?d=$1 permanent;
Run Code Online (Sandbox Code Playgroud)

nginxURI始终具有领先/.该?和查询字符串不是标准化的URI的一部分,但该rewrite指令自动附加任何参数,除非有一个尾随?.

请参阅此文档了解详细信息