如果“/”位于url的末尾,则Nginx重写规则不会传递变量

时间:2017-10-20 09:01:26

标签: php regex nginx

我目前正在尝试创建一个Ngnix Rewrite规则,如果模式匹配,它将传回变量。

请求网址:contoso.com/web/en-us/notifications/

Nginx重写规则rewrite ^/web/(.*)/notifications/$ /web/?action=notifications&language=$1;

因此,在通知/的末尾添加/,变量$ _GET ['action']为空。但是,我确实在$ _GET ['language'] = en-us / notifications

中获得了这两个值

如果我从通知结尾删除/,我会得到正确的值。在两个变量中。

即使/最后,我怎样才能使这项工作?

1 个答案:

答案 0 :(得分:0)

我想出来了。顶部有一条规则,我最初没有抓到导致问题的主页设置。

rewrite ^/web/(.*)/$ /web/?language=$1 last;

我在所有其他重写规则下将其移至底部。解决了这个问题。