如何在nginx中将$uri修改为request_uri的部分uri?
How to modify $uri to part of uri from request_uri in nginx?
假设 $request_uri 的值为 /a/b/c 。
$uri 的当前值为 /index.php 。
是否可以将我的 $uri 更改为 /b/c .
我试过了,好像不行,
if ($request_uri ~* /a/(.*)/(.*)){
set $uri //;
}
但这给出了重复"uri"变量的错误。
我也试过了,
if ($request_uri ~* /a/(.*)/(.*)){
rewrite ^ // break;
}
但是 $variables 似乎不存储值。
有出路吗?谢谢
我从 here 开始做到了。
基本上需要重写两次。
rewrite ^ $request_uri;
rewrite /.*/(.*)/(.*) //;
第一次重写修改了 /index.php -> /a/b/c
.
的 uri
第二次重写修改了 /a/b/c -> /b/c
.
的 uri
假设 $request_uri 的值为 /a/b/c 。 $uri 的当前值为 /index.php 。 是否可以将我的 $uri 更改为 /b/c .
我试过了,好像不行,
if ($request_uri ~* /a/(.*)/(.*)){
set $uri //;
}
但这给出了重复"uri"变量的错误。 我也试过了,
if ($request_uri ~* /a/(.*)/(.*)){
rewrite ^ // break;
}
但是 $variables 似乎不存储值。
有出路吗?谢谢
我从 here 开始做到了。
基本上需要重写两次。
rewrite ^ $request_uri;
rewrite /.*/(.*)/(.*) //;
第一次重写修改了 /index.php -> /a/b/c
.
第二次重写修改了 /a/b/c -> /b/c
.