NGINX重写url不起作用

NGINX重写url不起作用,nginx,ngx-http-rewrite-module,Nginx,Ngx Http Rewrite Module,我有以下重写位置: location ~ ^/payment/gateway/v2/order/complete/(.*)$ { proxy_pass http://api.test.com:8080/payment/gateway/v2/order/complete?order_id=$1; } 然后我试了一下: location /payment/gateway/v2/order/complete { rewrite ^/payment/gateway/v2/order/

我有以下重写位置:

location ~ ^/payment/gateway/v2/order/complete/(.*)$ {
    proxy_pass http://api.test.com:8080/payment/gateway/v2/order/complete?order_id=$1;
}
然后我试了一下:

 location /payment/gateway/v2/order/complete {
    rewrite ^/payment/gateway/v2/order/complete/(.+) /payment/gateway/v2/order/complete?order_id=$1 break;
    proxy_pass http://api.test.com:8080
}
那么这个,

 location /payment/gateway/v2/order/complete/ {
    rewrite ^/payment/gateway/v2/order/complete/$ /payment/gateway/v2/order/complete?order_id=$1 last;
    proxy_pass http://api.test.com:8080
}
location /payment/gateway/v2/order/complete {
    rewrite ^/payment/gateway/v2/order/complete/([^/]+)$ /payment/gateway/v2/order/complete?order_id=$1 last;
    proxy_pass http://api.test.com:8080;
}
那么这个,

 location /payment/gateway/v2/order/complete/ {
    rewrite ^/payment/gateway/v2/order/complete/$ /payment/gateway/v2/order/complete?order_id=$1 last;
    proxy_pass http://api.test.com:8080
}
location /payment/gateway/v2/order/complete {
    rewrite ^/payment/gateway/v2/order/complete/([^/]+)$ /payment/gateway/v2/order/complete?order_id=$1 last;
    proxy_pass http://api.test.com:8080;
}
并非所有这些都有效

Nginx版本1.13.8

提前谢谢

编辑 上面所有的代码都很好,我发现了我的错误。我将其中一个配置文件复制到conf.d文件夹进行备份,但忘记将其重命名为扩展名。我把它拿走了,一切正常。谢谢大家的帮助

nginx -V 2>&1 | tr -- - '\n' | grep  _module

这是检查已安装模块的方法。我也有同样的问题,看起来我没有安装/启用模块…

您是否为nginx启用了rewrite_mod mod模块?我认为它在默认情况下已启用,否?