URL重写Nginx

URL重写Nginx,nginx,rewrite,Nginx,Rewrite,我正试图在nginx中完成重写,但它不起作用 我想做的是: www.website.com/backstage/somepage.php?language=Dutch 应该成为 www.website.com/nl/backstage/somepage.php 我已经在nginx配置中添加了这一行(但它没有做任何事情): 我希望有人能帮上忙:)谢谢。嗯,我不明白你的重写指令,它没有多大意义。检查文档:尤其是 rewrite regex replacement 因此,您必须找到一个与/bac

我正试图在nginx中完成重写,但它不起作用

我想做的是:

www.website.com/backstage/somepage.php?language=Dutch
应该成为

www.website.com/nl/backstage/somepage.php
我已经在nginx配置中添加了这一行(但它没有做任何事情):


我希望有人能帮上忙:)谢谢。

嗯,我不明白你的重写指令,它没有多大意义。检查文档:尤其是

rewrite regex replacement
因此,您必须找到一个与/backstage/somepage.php?language=Dutch匹配的正则表达式 替换的是/nl/backstage/somepage.php。然而,这是一个棘手的问题,因为您正试图根据参数重写。所以单靠“重写”是不行的,你必须用“如果”

这应该起作用:

if ($args ~ language=Dutch){
  rewrite ^/backstage/(.*).php$ /nl/backstage/$1.php permanent;
}
if ($args ~ language=Dutch){
  rewrite ^/backstage/(.*).php$ /nl/backstage/$1.php permanent;
}