如何从nginx中的request_uri修改$ uri到uri的一部分?

时间:2015-09-02 15:39:10

标签: nginx

假设$ request_uri的值是/ a / b / c。 $ uri的当前值是/index.php。 这可以将我的$ uri更改为/ b / c。

我试过这个,似乎没有用,

if ($request_uri ~* /a/(.*)/(.*)){
  set $uri /$1/$2;
}

但是这会给出重复“uri”变量的错误。 我也试过了,

if ($request_uri ~* /a/(.*)/(.*)){
  rewrite ^ /$1/$2 break;
}

但$变量似乎不存储值。

有出路吗?感谢。

1 个答案:

答案 0 :(得分:2)

我设法从here开始。

它基本上需要两次重写。

rewrite ^ $request_uri;
rewrite /.*/(.*)/(.*) /$1/$2;

第一次重写会修改/index.php -> /a/b/c中的uri。

第二次重写会修改/a/b/c -> /b/c中的uri。